C 面向对象程序设计试题集 联系客服

发布时间 : 星期一 文章C 面向对象程序设计试题集更新完毕开始阅读05b1cdb00408763231126edb6f1aff00bed570d5

70. 利用“对象名.成员变量”形式访问的对象成员仅限于被声明为 的成员;若要访问其他成员变量,需要通过 函数或 函数。

71. 是指同样的消息被不同类型的对象接收时导致不同的行为。 二、 单项选择题(每小题2分,共20分) 类中定义的成员默认为( )访问属性。

A.public B. private C. protected D. friend

如果一个函数无返回值,定义时它的函数类型应是()。 A.任意 B.int C.void D.无

下面的函数声明中,( )是“void BC(int a,int b);”的重载函数。 A.int BC(int x,int y); B.void BC(int a,char b);

C.float BC(int a,int b,int c=0); D.int BC(int a,int b=0);

与C语言printf(“Hello word\\n”) ;语句功能相同的C++语句是( )。

A.cout>>”Hello word\\n” B.cin>>” Hello word\\n” C. cout<<” Hello word\\n” D.cin<<” Hello word\\n”

假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。 A. AB operator+(AB & a , AB & b) B. AB operator+(AB & a) C. operator+(AB a) D. AB & operator+( ) 以下不正确的语句是( )。 A.if(x>y);

B.if(x=y)&&(x!=0) x+=y; C.if(x!=y)cin>>x;else cin>>y; D.if(x

{x=x*x;} while(!x);

下列说法正确的是( )。

A.是死循环 B.循环执行两次 C.循环执行一次 D.有语法错误

下面函数( )的表示方法说明它使用对象的引用作为参数。 A. test(pt *p) B.test(pt p) C.test(pt &p) D.test(const P) 下面叙述不正确的是( )。

A. 基类的保护成员在派生类中仍然是保护的 B. 基类的保护成员在公有派生类中仍然是保护的

C. 基类的保护成员在私有派生类中是私有的 D. 对基类成员的访问必须是无两义性

下列运算符中,( )运算符在C++中不能重载。 A. ?: B. + C. - D.〈=

在C++中,打开一个文件就是将这个文件与一个( )建立关联;关闭一个文件就是取消这种关联。

A. 流 B. 类 C. 结构 D. 对象

对while、do…while循环结构,下面说法正确的是( )。 A.只是表达形式不同

B.do…while结构中的语句至少执行一次

C.while结构中的语句至少执行一次

D.条件成立时,它们有可能一次也不执行 关于函数的调用下面不正确的是( )。

A. 由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行

B. 函数的调用可以在任意函数之间进行,只要有需要 C. 一个函数可以自己调用自己

D. 函数返回时可以不必带返回值,这时函数在定义时其类型应用void表示 关于函数的声明和定义正确的是( )。

A. 函数的声明是必须的,只有这样才能保证编译系统对调用表达式和函数之间的参数进行检测,以确保参数的传递正确

B. 函数的定义和声明可以合二为一,可以只有函数定义即可

C. 函数在声明时,其参数标识符可省略,但参数的类型、个数与顺序不能省略 D. 函数的存储类型为外部型,所以可以在其他函数中被调用,它在定义时象其他外部变量一样,可以在其他函数内定义 用于类中虚成员函数说明的关键字是( )。 A.public B.virtual C. protected D. private 有如下程序段:

int i=5;

while (int i=0) { cout<<\运行时输出“*”的个数是 ( ) A. 0 B.1 C. 5 D. 无穷

运算符重载时不需要保持的性质是( )

A. 操作数个数 B.操作数类型 C. 优先级 D.结合性 有如下类定义和变量定义:

class A { public:

A() { data=0;} ~A() {} int GetData() const { return data;} void SetData(int n) { data=n;} private: int data; };

const A a; A b;

下列函数调用中错误的是( )

A. a.GetData(); B.a.SetData(10); C.b.GetData(); D. b.SetData(10); 对类的构造函数和析构函数描述正确的是( )

A. 构造函数可以重载,析构函数不能重载; B. 构造函数不能重载,析构函数可以重载; C. 构造函数可以重载,析构函数也可以重载; D. 构造函数不能重载,析构函数也不能重载; 下列有关类的说法不正确的是( )。 A. 对象是类的一个实例

B. 任何一个对象只能属于一个具体的类 C. 一个类只能有一个对象

D. 类与对象的关系和数据类型与变量的关系相似 ( )的功能是对象进行初始化。

A.析构函数 B. 数据成员 C.构造函数 D.静态成员函数 关于友元的描述中,( )是错误的。

A. 友元函数是成员函数,它被说明在类体内 B. 友元函数可直接访问类中的私有成员 C. 友元函数破坏封装性,使用时尽量少用 D. 友元类中的所有成员函数都是友元函数

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

A.public B. protected C.private D. static

下面对静态数据成员的描述中,正确的是( )。 A.静态数据成员是类的所有对象共享的数据 B.类的每一个对象都有自己的静态数据成员 C.类的不同对象有不同的静态数据成员值 D.静态数据成员不能通过类的对象调用

下列表达方式正确的是( )。 A.class P{ B. class P{ public: public: int x=15; int x;

void show(){cout<

C. class P{ D. class P{ int f; public: }; int a;

f=25; void Seta (int x) {a=x;}

以下叙述中不正确的是( ):

A.一个类的所有对象都有各自的数据成员,它们共享函数成员; B. 在一个类中可以声明另一个类的对象作为它的数据成员; C. 类与对象的关系和数据类型与变量的关系相似; D. 一个对象可以属于多个类。

对于一个功能不太复杂,并且要求加快执行速度,选用( )合适 A.内置函数 B.重载函数 C.递归调用 D.嵌套调用

Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是 ( ) Sample a[2], *p = new Sample;

A.0 B. 1 C. 2 D.3

已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( ) A.FA必须定义在FB之前 B.FB必须定义在FA之前

C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前 D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前 下列有关运算符函数的描述中,错误的是( ) A.运算符函数的名称总是以operator为前缀 B.运算符函数的参数可以是对象

C.运算符函数只能定义为类的成员函数

D.在表达式中使用重载的运算符相当于调用运算符重载函数 下面描述中,正确的是( )。 A.virtual可以用来声明虚函数

B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类 C.既使基类的构造函数没有参数,派生类也必须建立构造函数 D.静态数据成员可以通过成员初始化列表来初始化