C++程序设计17春在线作业2
试卷总分:100 得分:100
一、单选题(共20 道试题,共60 分)
1. 以下有关继承的叙述正确的是()。
A. 构造函数和析构函数都能被继承
B. 派生类是基类的组合
C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D. 基类的公有成员一定能被派生类的对象访问
满分:3 分
正确答案:B
2. 下列函数中,()是对文件进行写操作的。
A. get()
B. read()
C. seekg()
D. put()
满分:3 分
正确答案:D
3. 下列关于构造函数的描述中,错误的是()。
A. 构造函数可以设置默认参数;
B. 构造函数在定义类对象时自动执行
C. 构造函数可以是内联函数
D. 构造函数不可以重载
满分:3 分
正确答案:D
4. 下列语句中错误的是()。
A. int *p=new int (10);
B. int *p=new int[10];
C. int *p=new int;
D. int *p=new int[40](0);
满分:3 分
正确答案:D
5. 假定变量x定义为“int x=8;”,要使rx成为x的引用(别名),rx应定义为()。
A. intrx=x;
B. intrx=&x;
C. int *rx=&x;
D. int&rx=x;
满分:3 分
正确答案:D
6. 不能作为重载函数的调用依据的是()。
A. 参数个数
B. 参数类型
C. 返回值类型
D. 函数名称
满分:3 分
正确答案:C
7. 在下面有关静态成员函数的描述中,正确的是()。
A. 在静态成员函数中可以使用this指针
B. 在建立对象前,就可以为静态数据成员赋值
C. 静态成员函数在类外定义时,要用static前缀
D. 静态成员函数只能在类外定义
满分:3 分
正确答案:B
8. 假定classA为一个类,则执行“classA x(5);”语句时将自动调用该类的()。
A. 无参构造函数
B. 带参构造函数
C. 复制构造函数
D. 赋值重载函数
构造函数可以被重载满分:3 分
正确答案:B
9. 静态数据成员的初始化必须在()。
A. 类内
B. 类外
C. 构造函数内
D. 静态成员函数内
满分:3 分
正确答案:B
10. 若已知char str[20],有语句cin>>str;,当输入为:This is a cat,则str中的内容为()。
A. This is a cat
B. This
C. This is
D. This is a
满分:3 分
正确答案:B
11. C++语言建立类库是通过()实现的。
A. 类的嵌套
B. 类的继承
C. 虚函数
D. 抽象类
满分:3 分
正确答案:B
12. 内部格式控制操作函数是在头文件()中定义的。
A. strstream.h
B. iomanip.h
C. istream.h
D. ostream.h
满分:3 分
正确答案:B
13. 要使用动态联编,必须使用()调用虚函数。
A. 类名
B. 对象名
C. 派生类指针
D. 基类指针
满分:3 分
正确答案:D
14. 若有定义“int x=17;”,则语句“cout<<hex<<x;”的输出结果是()。
A. 11
B. 0x11
C. 21
D. 021
满分:3 分
正确答案:A
15. 下面对类的析构函数的定义是() 。
A. X::~ X( 参数);
B. void X::~ X( 参数);
C. void X::~ X();
D. X::~ X();
满分:3 分
正确答案:D
16. 下面的类型声明中正确的是()。
A. int&a[4];
B. int&*p;
C. int&&q;
D. int I,*pp=&I;
满分:3 分
正确答案:D
17. 如有以下模板类定义:Template <class T> class sum { T a, b; Public: Sum (T x, T y); } 则在类体外定义构造函数正确的是()。
A. template <class T> sum::sum(T x,T y) { a=x; b=y; }
B. template <typename T>sum(T x,T y) { a=x; b=y; }
C. template <class T> sum<T>::sum(T x,T y) { a=x; b=y; }
D. sum<T>::sum(T x,T y) { a=x; b=y; }
满分:3 分
正确答案:C
18. 类MyA的拷贝初始化构造函数是()。
A. MyA()
B. MyA(MyA*)
C. MyA(MyA&)
D. MyA(MyA)
满分:3 分
正确答案:C
19. C++利用()实现面向对象程序设计的继承性。
A. 构造数据类型—类
B. 类的派生机制
C. 构造数据类型—枚举
D. 函数重载与运算符重载
满分:3 分
正确答案:B
20. C++的继承性允许派生类继承基类的()。
A. 部分特性,并允许增加新的特性或重定义基类的特性
B. 部分特性,但不允许增加新的特性或重定义基类的特性
C. 所有特性,并允许增加新的特性或重定义基类的特性
D. 所有特性,但不允许增加新的特性或重定义基类的特性
满分:3 分
正确答案:C
二、判断题(共20 道试题,共40 分)
1. 通过类对象可以访问类中所有的成员。
A. 错误
B. 正确
满分:2 分
正确答案:A
2. 使用inline说明内联函数时,必须使函数体和inline说明结合在一起,否则编译器将它作为普通函数处理。
A. 错误
B. 正确
满分:2 分
正确答案:B
3. 文件流创建方式是打开二进制文件的是ios::binary。
A. 错误
B. 正确
满分:2 分
正确答案:B
4. 在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
A. 错误
B. 正确
满分:2 分
正确答案:B
5. C++利用函数重载实现面向对象程序设计的封装性。
A. 错误
B. 正确
满分:2 分
正确答案:A
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论