第三章单元测试
  1. 以下关于静态数据成员初始化,说法正确的是( )。

  2. A:对于private静态数成员,需要在类内完成初始化。 B:静态数据成员的初始化不是必须的。 C:需要在类外单独进行,而且应在定义对象之前完成。 D:可以通过对象完成静态数据成员的初始化。
    答案:需要在类外单独进行,而且应在定义对象之前完成。
  3. 一个类有多个对象成员,其构造顺序如何决定?( )

  4. A:由在类中的声明顺序决定。 B:按字典顺序构造。 C:由在构造函数初始化列表中的顺序决定。 D:多个对象成员的构造顺序是随机的。
  5. 在成员函数中,可以通过return *this返回当前对象。( )

  6. A:错 B:对
  7. 静态数据成员属于类,而不属于某一个具体对象。( )

  8. A:错 B:对
  9. 友元类的所有成员函数都是友元函数。( )

  10. A:错 B:对
  11. 对象成员的构造通只能通过初始化列表来完成。( )

  12. A:错 B:对
  13. 使用对象或对象引用作函数参数,哪些是正确的?( )


  14. A:使用对象作参数,实质是传值调用。 B:对象引用作函数参数效率更高。 C:使用对象引用作参数,不会调用拷贝构造函数。 D:使用对象作参数,会调用拷贝构造函数。
  15. 关于友元关系,以下说法正确的是( )。

  16. A:友元关系不具有传递性 B:友元关系是单向的 C:友元关系具有传递性 D:友元关系是双向的
  17. 关于友元函数,说法正确的是( )。

  18. A:友元函数的声明只能放在public部分。 B:友元函数的声明可以放在类内的任意位置。 C:既可以是普通函数,也可以是另一个类的成员函数。 D:用friend声明。
  19. 必须定义析构函数的原因是在类中包含以下哪种数据?( )


  20. A:指针成员 B:标准类型 C:对象成员 D:数组
  21. 以下哪些情况下会调用拷贝构造函数。( )

  22. A:当函数的形参是类的对象时 B:当用类的一个对象去初始化该类的另一个对象时 C:当函数的返回值是类的对象时 D:当用空参数初始化一个对象时
  23. 关于拷贝构造函数的说法正确的是( )。

  24. A:拷贝构造函数只能有一个参数。 B:一个类只能有一个拷贝构造函数。 C:拷贝构造函数的名字与类同名。 D:如果没有定义拷贝构造函数,编译系统会生成一个。
  25. 以下关于析构函数的说法正确的是( )。

  26. A:析构函数的参数表为空。 B:一个类的析构函数只有一个。 C:在构造函数名之前加上波浪线(~),就是析构函数的名字。 D:析构函数不返回任何值。
  27. 以下关于构造函数的说法正确的是( )。

  28. A:构造函数使用初始化列表或在函数体中完成数据成员的初始化完全等价。 B:只要定义了构造函数,编译器就不会生成缺省的构造函数了。 C:缺省的构造函数不会对数据成员赋值。 D:构造函数不能重载。
  29. 一个使用new运算符动态创建的对象,使用delete释放它时,会自动调用析构函数。( )

  30. A:对 B:错
  31. 由于构造函数没有返回值,它的返回类型必须设置为void。( )

  32. A:错 B:对
  33. 假设数据成员和成员函数都是公有的,以下用法正确的是( )。

  34. A:对象名.数据成员 B:对象指针.成员函数名(实参表) C:(*对象指针).成员函数名(实参表) D:对象名.成员函数名(实参表)
  35. 关于对象的定义,以下说明正确的是( )。

  36. A:可以定义好类之后,使用时再定义对象。 B:可以使用第三方类定义对象。 C:可以在声明类的同时,直接定义对象。 D:可以使用标准类定义对象。
  37. 类的成员函数可以访问以下哪种类型的数据成员( )。

  38. A:public B:缺省 C:protected D:private
  39. 若在类外完成成员函数的定义,则无法声明为内联函数。( )

  40. A:对 B:错
  41. 哪种类型不可以定义为类中的数据成员?( )


  42. A:标准类型 B:指针类型 C:其他类的对象 D:本类对象
  43. 既可被类内的成员函数访问,也可被类外的对象访问的是( )成员。

  44. A:protected B:public C:缺省 D:private

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(3) dxwkbang
返回
顶部