C++选择题 填空题 判断题(2)

2019-08-30 13:11

8、友元的作用是( )。 A、提高程序的运用效率; B、加强类的封装性; C、实现数据的隐藏性;

D、增加成员函数的种类;

9、关于new运算符的下列描述中,( )是错误的。 A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除; C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值; 10、关于delete运算符的下列描述中,( )是错误的。 A、它必须用于new返回的指针; B、使用它删除对象时要调用析构函数;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。 11、const int *p说明不能修改( )。 A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者;

12、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,( )是正确的; A、void print() const; B、const void print(); C、void const print();

D、void print(const);

13、派生类的对象对它的基类成员中( )是可以访问的。 A、公有继承的公有成员; B、公有继承的私有成员; C、公有继承的保护成员; D、私有继承的公有成员; 14、设置虚基类的目的是( )。 A、简化程序; B、消除二义性; C、提高运行效率;

D、减少目标代码;

15、下列描述中,正确的是( )

A、虚函数是一个static 类型的成员函数; B、虚函数是一个非成员函数; C、抽象类是指具有纯虚函数的类;

D、抽象类可以说明其对象;

二、判断下列描述的正确性,正确填T,错误填F。

1、C++中标识符内的大小写字母是没有区别的。( )

2、C++是一种以编译方式实现的高级语言。( )

3、计算函数参数顺序引起的二义性是由不同的编译系统决定的。( )

4、返回值类型、参数个数和类型都相同的函数也可以重载。( )

5、使用关键字class定义的类中缺省的访问权限是私有(private)的。( )

6、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。(7、多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )

) 8、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( ) 9、在私有继承中,基类中所有成员对派生类都是不可见的。( )

10、在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。( ) 11、构造函数可以声明为虚函数。( )

12、在析构函数中调用虚函数时,采用动态束定。( )

13、在一个成员函数内调用一个虚函数时,对该虚函数的调用进行动态束定。( ) 14、公有继承可以实现子类型。( )

15、构造函数可以声明为纯虚函数。( ) 三、分析下列程序的输出结果。 1、#include

class Test;

void fun1(Test t); Test fun2(); class Test {

public:

Test(int n=1) {val=n; cout<<\

Test(const Test& t) {val=t.val; cout<<\ Test& operator = (Test& t) {

val=t.val;

cout<<\ return *this; } private:

int val; };

void main() {

Test t1(1); Test t2=t1; Test t3; t3=t1; fun1(t2); t3=fun2(); }

void fun1(Test t){} Test fun2() {

Test t; return t; }

2、#include

class A

{

public:

A() {cout<<\ ~A(){cout<<\

};

class B {

public:

B() {cout<<\ ~B(){cout<<\};

class C:public A,public B {

public:

C():member(),B(),A() {cout<<\ ~C(){cout<<\private: A member; };

void main() {

C obj; }

3、#include class R

{

public:

R(int r1,int r2) {R1=r1;R2=r2;} void print();

void print() const;

private:

int R1,R2;

};

void R::print() {

cout<

}

void R::print() const {

cout<

}

void main() {

R a(5,4);

a.print();

const R b(20,52); b.print();

} 4、#include

class A {

public:

virtual void act1(); void act2() {act1();}

};

void A::act1()

{

cout<<\ }

class B : public A {

public:

void act1(); };

void B::act1()

{

cout<<\B::act1() called. \ }

void main() {

B b; b.act2();

}

模拟试题二

一、填空题(每空1分,共20分)。

1、对象是 和 的封装体。

2、定义重载函数时,要从 和 上进行区分。 3、类定义中,缺省的成员是 成员。

4、当一个成员函数被调用时,该成员函数的 指向调用它的对象。 5、设置虚基类的目的是 ,虚基类子对象的初始化由 完成。

6、对虚函数使用基类类型的指针或引用调用,系统使用 联编;使用对象调用时,系统使用

联编。 7、一元运算符作为类成员函数重载时 形参;二元运算符作为 重载时需声明

其右操作数。 8、带有 的类称为抽象类,它只能作为 来使用。 9、请填写下列表格(填写直接派生类实例对基类成员的可见性)。

public 直接派生类继承方式 基类中成员类型 public private protected 不可见 不可见 不可见 private protected 二、单项选择题(每题2分,共20分)。 1、下列描述中,( )是不正确的。 A、面向对象程序设计可重用性较好; B、对象之间通过消息进行信息传递; C、多态性体现了行为共享; D、面向对象方法的核心是继承;

2、执行下列语句后的输出结果是( )。

int hot=100;

int &rad=hot; hot+=100; cout<

D、300;

3、在C++中,关于下列函数参数的描述中,( )是正确的。 A、C++语言中,实参是按照自左至右的顺序求值的;

B、若一个参数设置了默认值,则其右边的所有参数都具有默认值; C、函数参数的默认值不允许是表达式;

D、设置参数默认值时,应该全部参数都设置;

4、在( )情况下适宜采用inline定义内联函数。 A、函数体含有循环语句; B、函数体含有递归语句; C、函数代码小,频繁调用; D、函数代码多,不常调用;

5、定义析构函数时,应该注意( )。 A、其函数名与类名完全相同; B、函数返回类型是void类型; C、无形参,也不可重载;

D、函数体中必须有delete语句;

6、下列关于构造函数的描述中,( )是正确的。 A、构造函数可以设置缺省参数; B、构造函数可以被继承;

C、构造函数可以对静态数据成员进行初始化; D、构造函数可以说明为虚函数; 7、友元的作用是( )。 A、提高程序的运用效率; B、加强类的封装性; C、实现数据的隐藏性;

D、增加成员函数的种类;

8、 int * const p说明不能修改( )。 A、p指针;

B、p指针指向的变量; C、p指针指向的数据类型;

D、上述A、B、C三者;

9、关于堆运算符的下列描述中,( )是错误的。 A、使用堆运算符可以动态建立或删除对象; B、new运算符创建对象时要调用构造函数;

C、可以在使用new[]创建数组时,为每个数组元素指定初始值; D、delete运算符可以作用于空指针; 10、关于继承的描述中,( )是正确的。 A、派生类是基类的子集; B、析构函数不能被继承; C、子类型关系是可逆的;


C++选择题 填空题 判断题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数据处理-单因素方差分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: