c++题库Word版

上传人:m**** 文档编号:468510670 上传时间:2022-08-08 格式:DOC 页数:72 大小:1.87MB
返回 下载 相关 举报
c++题库Word版_第1页
第1页 / 共72页
c++题库Word版_第2页
第2页 / 共72页
c++题库Word版_第3页
第3页 / 共72页
c++题库Word版_第4页
第4页 / 共72页
c++题库Word版_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《c++题库Word版》由会员分享,可在线阅读,更多相关《c++题库Word版(72页珍藏版)》请在金锄头文库上搜索。

1、假定 AB 引用是某个变量的别名,对引用的操作就是对被引用变量的操作。A. 对B. 错假定 AB 为一个类,则执行 AB x; 语句时将自动调用该类的无参构造函数。A. 对B. 错构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。A. 对B. 错用new动态分配的内存是在堆中分配的,而不是在栈中分配的。A. 对B. 错使用关键字class定义的类中缺省的访问权限是私有(private)的。A. 对B. 错在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。A. 对B. 错C+语言的标识符是不区分大小写的。A. 对B. 错作用域运算符(:)只能用来限定成员函数所属

2、的类。A. 对B. 错整理为word格式声明对象时,类名前面不需要加class关键字。A. 对B. 错C+程序一般应当含有main函数,它是C+程序执行的入口。A. 对B. 错可以在类的构造函数中对静态数据成员进行初始化。A. 对B. 错C+语言中,既允许单继承,又允许多继承。A. 对B. 错派生类的继承方式有两种:公有继承和私有继承。A. 对B. 错多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。A. 对B. 错类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。A. 对B. 错构造函数和析构函数都不能重载。A. 对B. 错整理为wo

3、rd格式在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,才能具有多态的特征。A. 对B. 错关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。A. 对B. 错将类的一个对象赋值给该类的另一个对象时,调用拷贝构造函数。A. 对B. 错模板可以使程序对任何数据类型进行同样方式的处理。A. 对B. 错1. 编译源文件后产生的文件是( )。A. 目标文件B. 可执行文件C. 源文件D. 头文件2. 每个C+程序只能有一个()。A. 全局变量B. 函数C. 头文件D. 主函数整理为word格式3. 使用内联函数的好处是()。A. 增加函数调用次数B. 提高代码执行效率C

4、. 减少代码量,增强代码可读性D. 隐藏内部实现4.下列不是函数重载所要求的条件是()。A. 函数名相同B. 函数返回值类型不同C. 参数类型不同D. 参数个数不同5. 下列哪两个函数为重载函数()。A. void a1(), void a2()B. intb(int x), float b(int x)C. char c(double y), char c(int y, double z)D. bool d(double y), bool d(double y, int x = 0)6. 在面对对象方法中,实现信息隐蔽依靠的是()。A. 对象的封装B. 对象的继承C. 对象的多态D. 对象的

5、分类7. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。A. 类B. 对象整理为word格式C. 函数体D. 数据块8. 下列关于类定义的说法中,正确的是()。A. 在类里定义的函数为内联函数B. 类成员的默认访问权限是保护的C. 数据成员必须被声明为私有的D. 成员函数只能在类体外进行定义9. 关于类和对象不正确的说法是()。A. 类是一种类型,它封装了数据和操作B. 对象是类的实例C. 一个类的对象只有一个D. 一个对象必属于某个类10. 结构体中定义的成员默认的访问属性为()。A. publicB. privateC. friendD. pro

6、tected11.类中定义的成员默认的访问属性为()。A. publicB. privateC. friendD. protected12. 有关构造函数的叙述不正确的是()。整理为word格式A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个13. 下列关于析构函数的描述中,错误的是()。A. 析构函数可以重载B. 析构函数由系统自动调用C. 每个对象的析构函数只被调用一次D. 每个类都有析构函数14. 通常拷贝构造函数的参数是()。A. 对象名B. 对象的成员名C. 对象的引用名D. 对象的指针名15. 在类外定

7、义成员函数时,需要在函数名前加上()。A. 类名B. 对象名C. 作用域运算符D. 类名和作用域运算符16. 在类定义中,为说明成员的访问权限,private, protected,public可以出现次数()。A. 次数没有具体限制B. 每种至多一次整理为word格式C. public至少一次D. 每种至少一次17. 关于静态数据成员的描述中错误的是()。A. 类的静态数据成员是该类所有对象所共享的B. 类的静态数据成员在在该类每个对象中都保留一个备份C. 类的静态数据成员必须进行初始化D. 类的静态数据成员可以不通过对象来访问18. 若一个类的数据成员用 const 关键字修饰,则该数据成

8、员()。A. 静态函数中可以对该成员赋值B. 构造函数只能通过初始化列表对该成员初始化C. 任何函数都不能使用该成员D. 外部函数可以对该成员赋值19. 有两个类 X和Y,且 Y 有一个构造函数 Y:Y(X x); 那么以下语句:X a;Yb(a);不会调用下面的哪个函数( )。A. Y的构造函数Y(X x)B. Y的拷贝(复制)构造函数C. X的默认构造函数D. X的拷贝(复制)构造函数20. 已知类 A 的定义。假设 x 为 A 的对象,则在类外访问 x 对象中数据成员a和b分别应采用()。class A private: int a;整理为word格式public: int getVal

9、ue() return a; int b;A. x:getValue(), x:bB. x.a, x.bC. x.a(), x.b()D. x.getValue(), x.b21. 假设程序中先前已经定义了 A、B、C 三个类,他们的构造函数分别会输出A constructed、B constructed 和C constructed,那么又定义了类 D,并在 main 函数中定义了一个D 类的对象,部分代码如下:class Dpublic: D():a(), b(), c() private: A a; B b; C c;intmain() D d; return 0;程序的输出结果为( )

10、。A. A constructed B constructed C constructedB. C constructed B constructed A constructed整理为word格式C. 编译错误D. 编译器决定22. 已知类 CA 中的某个成员是类 CB 的对象,若要把这两个类定义在同一个文件中,则()。A. CA必须定义在CB之前B. CB必须定义在CA之前C. 若CA定义在CB之后,则CA的声明必须出现在CB的定义之前D. 若CB定义在CA之后,则CB的声明必须出现在CA的定义之前23. 在设计一个类的时候,如果希望允许一个不属于该类的函数访问该类的私有成员,应该使用哪个关

11、键字()。A. publicB. privateC. friendD. protected24. 关于友元函数的描述中,错误的是()。A. 友元函数是成员函数B. 友元函数能访问类中私有成员C. 友元函数破坏封装性D. 友元函数声明在类体内25. 如果类 A 是类 B 的友元,则()。A. 类A的成员是类B的成员B. 类B的成员是类A的成员C. 类A的成员函数可以访问类B的私有成员D. 类B是类A的友元整理为word格式26. 已知类 A 是类 B 的友元类,类 B 是类 C 的友元类,则()。A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员

12、D. 类A的成员函数可以访问类B的对象的任何成员27. 已知Point类含有无参(默认)构造函数和有参构造函数,使用Point a3 = Point(1, 2), Point(3,4), Point() ; 时,调用了()次Point类的无参(默认)构造函数。A. 1B. 2C. 3D. 428. 要定义一个引用变量p使之引用类MyClass的一个对象,正确的定义语句是()。A. MyClass p=MyClass;B. MyClass p=new MyClass;C. MyClass&p=new MyClass;D. MyClass a,&p=a;29. 关于this指针的说法不正确的是()

13、。A. 不能在程序中修改this指针B. this指针可以给其他指针赋值,但不能修改this指针C. 静态成员函数中没有this指针D. this指针可以被赋值30. 关于C+的动态存储分配,下列说法正确的是()。整理为word格式A. new和delete是C+语言中专门用于动态内存分配和释放的函数B. 动态分配的内存空间也可以被初始化C. 当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D. 当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new31. 观察程序#includeusing namespace std;int main() int *first, *second;first = new int5;second = first;delete second; delete first;return 0;该程序是否正确,原

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号