(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(){cout
int A::n=2;
void main()
{
A a,b (3);
a.print();
b.print();
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<
};
class base1:virtual base{
public:
base1(){cout<
};
class base2:virtual base{
public:
base2(){cout<
};
class derived:public base1,public base2{
public:
derived(){cout<
};
void main()
{
derived obj;
cout
A)0123
B)3120
C)0312
D)3012
(30)对于类定义
class A{
public:
virtual void func1(){}
void func2(){}
};
class B:public A{
public:
void func1(){cout<
下面正确的叙述是
A) A::func2()和B::func1()都是虚函数
B) A::func2()和B::func1()都不是虚函数
C) B::func1()是虚函数,而A::func2()不是虚函数
D) B::func1()不是虚函数,而A::func2()是虚函数