![]() |
|
(21)为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
A.public
B.protected
C.private
D.static
(22)在C++语言程序中,对象之间的相互通信通过
A.继承实现
B.调用成员函数实现
C.封装实现
D.函数重载实现
(23)类的析构函数是在什么时候调用的?
A.类创建时
B.创建对象时
C.删除对象时
D.不自动调用
(24)通常拷贝构造函数的参数是
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
(25)下面程序的运行结果为
#include
class A
{
static int n;
public:
A(){n=1;}
A(int num){n=num;}
void print(){coot <
}
int A::n=2:
void main()
{
A a.b(3);
a.print();
b.pint();
cout <
}
A.11
B.13
C.23
D.33
(26)下列不是描述类的成员函数的是
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
(27)继承机制的作用是
A.信息隐藏
B.数据封装
C.定义新类
D.数据抽象
(28)在C++语言类体系中,不能被派生类继承的有
A.转换函数
B.构造函数
C.虚函数
D.静态成员函数
(29)下面程序的运行结果是
#include
class base
{
protected:
int a;
public:
base(){ cout <<”0”;}
class basel:virtual base
}
public:
base 1(){cout <<”1”;}
};
class base2:virtual base
{
public:
base2(){cout <<”2”;(
};
class derived:public base1,public base2
{
public:
derived(){cout <<”3”;}
};
void main()
{
derived obj;
cout <
}
A.0123
B.3120
C.0312
D.3012
(30)对于类定义
class A{
public:
virtual void funcl(){}
void func2(){}
};
class B:public A
{
public:
void funcl(){cout <<"class B func 1”<
virtual void func2(){cout <<"class B func 2"<
};
下面正确的叙述是
A.A::func2()和B::funcl()都是虚函数
B.A::func2()和B::funcl()都不是虚函数
C.B::funcl()是虚函数,而A::func2()不是虚函数
D.B::funcl()不是虚函数,而A::func2()是虚函数