|
16秋《++语言程序设计》在线作业3
一、单选题(共 20 道试题,共 100 分。)
1. 有类模板定义如下:tmplt <lss Typ> lss rm { }下列类对象的定义中,正确的是()
. rm
. rm<lss int>
. rm<int>
. rm<lss Typ>
正确资料:
2. 关于对象成员的构造函数的调用顺序,说法正确的是()
. 与它们在成员初始化列表中给出的顺序相同
. 与析构函数的调用顺序相同
. 与它们在类中定义说明的顺序相同
. 以上说法都不对
正确资料:
3. 下面()不能由编译系统自动生成
. 构造函数
. 析构函数
. 拷贝构造函数
. 友元函数
正确资料:
4. 下列运算符不能重载为友元函数的是()
. = () [] ->
. + - ++ --
. > < >= <=
. += -= *= /=
正确资料:
5. 在一个派生类对象结束其生命周期时()
. 先调用派生类的析构函数后调用基类的析构函数
. 先调用基类的析构函数后调用派生类的析构函数
. 如果基类没有定义析构函数,则只调用派生类的析构函数
. 如果派生类没有定义析构函数,则只调用基类的析构函数
正确资料:
6. 下列情况中,不会调用拷贝构造函数的是()
. 用一个对象去初始化同一类的另一个新对象时
. 函数的形参是类的对象,调用函数进行形参和实参结合时
. 函数的返回值是类的对象,函数执行返回调用时
. 将类的一个对象赋值给该类的另一个已经存在的对象时
正确资料:
7. 若一个类中含有纯虚函数,则该类称为()
. 基类
. 纯基类
. 派生类
. 抽象类
正确资料:
8. 对 *p用nw 或( *)mllo(sizo ())赋值,如下叙述正确的是()
. mllo分配内存后会调用构造函数初始化,但nw函数不会。
. nw分配内存后会调用构造函数初始化,但mllo函数不会。
. nw和mllo分配内存后都会调用构造函数初始化。
. nw和mllo分配内存后都不会调用构造函数初始化。
正确资料:
9. 类的析构函数的作用是()
. 一般成员函数的初始化
. 类的初始化
. 对象的初始化
. 删除类创建的对象
正确资料:
10. ++源程序文件的扩展名为()
. .pp
. .
. .++
. .ll
正确资料:
11. 下列运算符中不能重载的是()
. ::
. +
. <<
. &&
正确资料:
12. 不能参与重载的是()
. 类
. 函数
. 函数模板
. 运算符
正确资料:
13. 含有()的类称为抽象类,不能直接用它实例化对象。
. 纯虚函数
. 虚函数
. 静态成员
. 友元
正确资料:
14. 在下列函数原型中,可以作为类构造函数的是()
. voi (int)
. int ()
. (int)onst
. (int)
正确资料:
15. 如果定义了一个类mylss,则为mylss类对象以成员函数形式重载后++运算符的声明应该为()
. mylss oprtor++()
. mylss oprtor++( int )
. mylss& oprtor++()
. mylss& oprtor++( int )
正确资料:
16. nw必须与()配对使用。
. los
. lt
. rturn
. xit
正确资料:
17. 下列运算符中()可以进行运算符重载
. nw
. ::
. sizo
. ?:
正确资料:
18. 用成员函数重载一元运算符θ,则显示调用方式为()
. oj θ
. θ oj
. oj.oprtor θ()
. oprtor θ(oj)
正确资料:
19. 若在类外有函数调用X::un();则函数un是类 X的()函数。
. 私有静态成员函数
. 公有非静态成员函
. 公有静态成员函数
. 友元函数
正确资料:
20. 运算符重载是对已有的运算符赋予多重含义,因此()
. 可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义
. 可以改变一个已有运算符的优先级和操作数个数
. 只能重载++中已经有的运算符,不能定义新运算符
. ++中已经有的所有运算符都可以重载
正确资料:
|
|