C选择题练习

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

继承练习

1.在派生类对基类继承的传递性中,C 是错误的。 (2分)

A 在公有继承方式下,直接派生类对象可以直接调用基类中的公有成员函数,去访问基类的私有数据成员

B 在公有继承方式下,间接派生类对象可以直接调用基类中的公有成员函数,去访问基类的私有数据成员

C 在私有继承方式下,间接派生类对象可以直接调用基类中的公有成员函数,去访问基类的私有数据成员

D 不管是私有继承还是公有继承,基类中的私有成员在派生类的作用域内都是不可能见的。

2.下列有关继承和派生的叙述中,正确的是: C (2分)

A 派生类不能访问通过私有继承的基类的保护成员

B 多继承的虚基类不能够实例化

C如果基类没有默认构造函数,派生类就应当定义带形参的构造函数

D 类的的析构函数和虚函数都不能够被继承,需要在派生类中重新实现

第一次上机课

3.设x和y均为bool量,则x&&y为真的条件是(A)。 (2分)

A它们均为真

B其中一个为真

C它们均为假

D其中一个为假

4.设int x;,则经过(C)后,语句*px=0;可将x值置为0。 (2分)

A int * px;

B int const * px=&x;

C int * const px=&x;

D const int * px=&x;

第三次上机课

在以下哪种情形,复制构造函数会被调用。( B )(2分)

A当一个对象采用引用方式,作为参数传递给一个函数

B当一个函数采用值方式,返回一个对象

C当一个对象赋值给另一个对象

D以上答案都不对

2-2

对于以下关于友元的说法(D) (2分)

A如果函数fun被声明为类A的友元函数,则该函数成为A的成员函数

B如果函数fun被声明为类A的友元函数,则该函数能访问A的保护成员,但不能访问私有成员

C如果函数fun被声明为类A的友元函数,则fun的形参类型不能是A。

D以上答案都不对

2-3

对于类之间的友元关系:(D) (2分)

A如果类A是类B的友元,则B的成员函数可以访问A的私有成员

B如果类A是类B的友元,则B也是A的友元。

C如果类A是类B的友元,并且类B是类C的友元,则类A也是类C的友元。

D以上答案都不对。

2-4

友元的作用是(A)(2分)

A提高程序的运用效率

B加强类的封装性

C实现数据的隐藏性

D增加成员函数的种类

若有以下调用语句,则不正确的fun( )函数的首部是:(D) (2分)

int main( ) { int a[50]={1},n=20;fun(n,&a[9]);…}

A void fun(int m,int x[ ])

B void fun(int s,int h[41])

C void fun(int p,int *s)

D void fun(int n,int a)

2-6

若有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));则该函数调用语句中,含有的实参个数是:(A) (2分)

A 3

B 4

C 5

D 有语法错误

2-7

给定以下类声明,哪个成员函数可能改变成员变量data? (D)(2分)

class A {

public:

void f1 (int d);

void f2 (const int &d);

void f3 (int d) const;

private:

int data;

};

A f1

C f3

D f1和f2

2-8

以下程序中,new语句干了什么。(C) (2分)

int** num;

num = new int* [20];

A 分配了长度为20的整数数组空间,并将首元素的指针返回。

B 分配了一个整数变量的空间,并将其初始化为20。

C 分配了长度为20的整数指针数组空间,并将num[0]的指针返回。

D 存在错误,编译不能通过。

第二次上机课

2-1

重载函数在调用时选择的依据中,错误的是(D)。 (2分)

A 函数的参数

B 参数的类型

C 函数的名字

D 函数的类型

2-2

对定义重载函数的下列要求中,( C )是错误的。 (2分)

A要求参数的个数不同

B要求参数中至少有一个类型不同

C要求函数的返回值不同

D要求参数个数相同时,参数类型不同

2-3

下列函数中,(C )不能重载。 (2分)

A成员函数

B非成员函数

C析构函数

D构造函数

2-4

下列对重载函数的描述中,( A )是错误的。 (2分)

A重载函数中不允许使用默认参数

B重载函数中编译根据参数表进行选择

C不要使用重载函数来描述毫无相干的函数

D构造函数重载将会给初始化带来多种方式

2-5

下列运算符中,(C )运算符不能重载。 (2分)

A &&

B [ ]

C ::

D <<

2-6

下列关于运算符重载的描述中,( D )是正确的。 (2分) A运算符重载可以改变操作数的个数

B运算符重载可以改变优先级

C运算符重载可以改变结合性

D运算符重载不可以改变语法结构

第四次上机

1-1

相关文档
最新文档