|
一、单选题(共 20 道试题,共 60 分。)V 1. 实现运行时的多态性需要使用()。
A. 重载函数
B. 构造函数
C. 析构函数
D. 虚函数
满分:3 分
2. 设有函数模板 template<class Q> Q Sum(Q x,Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是()。
A. Sum(10,2);
B. Sum(5.0,6.7);
C. Sum(15.2f,16.0f);
D. Sum(″AB″,″CD″);
满分:3 分
3. 对于一个类,可以利用关键字()将其他类声明为该类的友元。
A. public
B. private
C. protected
D. friend
满分:3 分
4. 若有定义“int x=17;”,则语句“cout<<hex<<x;”的输出结果是()。
A. 11
B. 0x11
C. 21
D. 021
满分:3 分
5. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()。
A. f1和f2都是静态函数
B. f1是静态函数,f2不是静态函数
C. f1不是静态函数,f2是静态函数
D. f1和f2都不是静态函数
满分:3 分
6. 决定C++语言中函数的返回值类型的是()。
A. return语句中的表达式类型
B. 调用该函数时系统随机产生的类型
C. 调用该函数时的主调用函数类型
D. 在定义该函数时所指定的数据类型
满分:3 分
7. 已知:类A中一个成员函数说明如下:void Set(A&a);其中,A&的含义是()。
A. 指向类A的指针为a
B. 将a的地址值赋给变量Set
C. a是类A对象的引用,用来作函数Set()的参数
D. 变量A与a按位与作为函数Set( )的参数
满分:3 分
8. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
满分:3 分
9. 在下面有关友元函数的描述中,正确的说法是()。
A. 友元函数是独立于当前类的外部函数
B. 一个友元函数不能同时定义为两个类的友元函数
C. 友元函数必须在类的外部定义
D. 在外部定义友元函数时,必须加关键字friend
满分:3 分
10. 假设已经有定义const char*name="chen"; 下面的语句中错误的是()。
A. name[3]= 'q';
B. name="lin";
C. name=new char[5];
D. name=new char('q');
满分:3 分
11. 静态数据成员的初始化必须在()。
A. 类内
B. 类外
C. 在构造函数内
D. 静态成员函数内
满分:3 分
12. 要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。
A. ifstream inf("D:\\File txt",ios::in);
B. ifstream inf("D:\\File.txt");
C. ofstream inf("D:\\File.txt",ios:ut);
D. fstream inf("D:\\File.txt",ios::in|ios:ut);
满分:3 分
13. 内部格式控制操作函数是在头文件()中定义的。
A. strstream.h
B. iomanip.h
C. istream.h
D. ostream.h
满分:3 分
14. read()函数的功能是从输入流中读取()。
A. 一个字符
B. 当前字符
C. 一行字符
D. 指定若干个字符
满分:3 分
15. 如果在类A中用成员函数的方式重载了前缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。
A. operator++(a);
B. a.operator++();
C. a.operator++(0);
D. a++;
满分:3 分
16. 重载赋值操作符时,应声明为()函数。
A. 友元
B. 虚
C. 成员
D. 多态
满分:3 分
17. 下面关于静态成员的描述中,正确的是()。
A. 静态数据成员是类的所有对象共享的数据
B. 类的每个对象都有自己的静态数据成员
C. 类的不同对象有不同的静态数据成员值
D. 静态数据成员不能通过类的对象访问
满分:3 分
18. 下面运算符中,不能被重载的运算符是()。
A. <=
B. -
C. ?:
D. []
满分:3 分
19. 可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A. 私有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 公有继承的公有成员
满分:3 分
20. 静态成员函数仅能访问()。
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:3 分
二、判断题(共 20 道试题,共 40 分。)V 1. C++利用函数重载实现面向对象程序设计的多态性。
A. 错误
B. 正确
满分:2 分
2. 如果要在程序中使用IO流库,应包含头文件iostream.h。
A. 错误
B. 正确
满分:2 分
3. 构造函数是可以被派生类继承的。
A. 错误
B. 正确
满分:2 分
4. 类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。
A. 错误
B. 正确
满分:2 分
5. ifstream是用于读文件的文件流。
A. 错误
B. 正确
满分:2 分
6. 只有类中全部函数都为纯虚函数时,该类才被称为抽象类。
A. 错误
B. 正确
满分:2 分
7. 操纵符hex、oct、dec只对下一个输出有效。
A. 错误
B. 正确
满分:2 分
8. 函数重载与运算符重载都是编译时的多态。
A. 错误
B. 正确
满分:2 分
9. 若有声明:class B: A{};则类B的继承方式为公有继承。
A. 错误
B. 正确
满分:2 分
10. this指针是一个const指针,不能在程序中修改它或给它赋值。
A. 错误
B. 正确
满分:2 分
11. 静态数据成员属于类,因此可以使用“类名::”访问静态的数据成员。
A. 错误
B. 正确
满分:2 分
12. ofstream是用于写文件的文件流。
A. 错误
B. 正确
满分:2 分
13. 测试二进制文件是否结束应调用eof()成员函数。
A. 错误
B. 正确
满分:2 分
14. 一个类可以定义多个构造函数和多个析构函数。
A. 错误
B. 正确
满分:2 分
15. 常量和引用在声明时必须初始化。
A. 错误
B. 正确
满分:2 分
16. C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
A. 错误
B. 正确
满分:2 分
17. C++编译器不能够区分重载的无参函数和缺省参数的函数。
A. 错误
B. 正确
满分:2 分
18. 类是C++中自定义的数据类型。
A. 错误
B. 正确
满分:2 分
19. 若有声明:class C: public A,B{};则类C公有继承自类A及类B。
A. 错误
B. 正确
满分:2 分
20. 在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的左边。
A. 错误
B. 正确
满分:2 分
|
|