《Java程序设计案例教程》第五章练习答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章类与对象

一、单项选择题

1.在C++语言中,数据封装要解决的问题是(D)。

A.数据的规范化

B.便于数据转换

C.避免数据丢失

D.防止不同模块之间数据的非法访问

2.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(A)。

A.public

B.protected

C.private

D.static

3.如果类中的所有成员在定义时都没有使用关键字public、private 或protected,则所有成员默认定义为(C)。

A.public

B.protected

C.private

D.static

4.下列关于类定义的叙述中,正确的是(D)。

A.数据成员必须被声明为私有的

B.成员函数只能在类体外进行定义

C.类成员的默认访问权限是保护的

D.类定义中包括数据成员和函数成员的声明

5.有如下类定义:

class myClass {

public:

myClass(int i=0):n(i){}

void setValue( int n0);

int getValue(){return n;)

private:

int n;

};

下列关于setValue成员函数的实现中,正确的是(D)。

A.setValue(int n0){n=n0;}

B.void setValue(int n0){n=n0;}

C.myClass∷setValue(int n0){n=n0;}

D.void myClass∷setValue(int n0){n=n0;}

6.对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句是(D)。

class MyClass

{

public:

MyClass( int x){n=x;}

void SetNum( int nl){n=nl;}

private:

int n;

int f()

MyClass ptr=new MyClass (45);

A.MyClass(50)

B.SetNum(50)

C.ptr->n=50

D.ptr->SetNum(50)

7.有如下头文件:

int fl();

static int f2();

class MA {

public:

int f3();

static int f4();

};

在所描述的函数中,具有隐含的this指针的是(C)。

A.fl

B.f2

C.f3

D.f4

8.下列对类的构造函数和析构函数的叙述中,正确的是(A)。

A.构造函数可以重载,析构函数不能重载

B.构造函数不能重载,析构函数可以重载

C.构造函数可以重载,析构函数也可以重载

D.构造函数不能重载,析构函数也不能重载

9.有如下类定义:

class MyClass{

int value;

public:

MyClass( int n):value (n) {}

int gerValue()const{return value;}

};

则类MyClass的构造函数的个数是(A)。

A.1个

B.2个

C.3个

D.4个

10.假定MyClass为一个类,则执行MyClass a,b(2),p;语句时,自动调用该类的构造函数的次数为(A)。

A.2

B.3

C.4

D.5

二、程序分析题

分析下列程序,写出程序的运行结果。

1.#include

using namespace std;

class A {

public:

A() {cout<<"A";}

~A() {cout<<"~A";}

};

class B{

A p;

public:

B() {cout<<"B";p=new A();} ~B() {cout<<"~B";delete p;} }

int main()

B obj;

return 0;

}

BA~B~A

相关文档
最新文档