泰山学院
  1. 有关析构函数的说法,正确的是( )。

  2. A:析构函数不具有任何返回类型 B:析构函数和构造函数一样可以包括形参 C:析构函数的作用是在对象释放前执行对象清理工作 D:析构函数有且仅有一个
    答案:析构函数不具有任何返回类型###析构函数的作用是在对象释放前执行对象清理工作###析构函数有且仅有一个
  3. 派生类中定义的虚函数必须与基类中相同的部分是( )。

  4. A:函数体 B:参数类型 C:函数名称 D:参数个数
    答案:参数类型###参数个数###函数名称
  5. 关于静态成员函数的描述正确的是( )。

  6. A:静态成员函数中通过隐含的this指针区分不同对象的调用 B:可以使用对象名调用静态成员函数 C:静态成员函数定义时可以访问非静态成员函数 D:非静态成员函数可以调用静态成员函数
    答案:非静态成员函数可以调用静态成员函数###可以使用对象名调用静态成员函数
  7. 关于类的说法正确的是( )。

  8. A:若类中成员没有访问权限说明,则成员可被类外访问 B:只有类的成员函数或友元函数才能访问类的私有成员 C:类是一种自定义的数据类型 D:类是一种抽象的数据类型
    答案:类是一种自定义的数据类型###只有类的成员函数或友元函数才能访问类的私有成员###类是一种抽象的数据类型
  9. 以下可以被public修饰的是( )。

  10. A:成员函数 B:数据成员 C:静态成员函数 D:类外函数
    答案:静态成员函数###成员函数###数据成员
  11. 实现运行时多态要满足的条件有( )。

  12. A:在派生类中对虚函数进行了重新定义 B:在基类中定义了虚函数 C:要有一个继承层次 D:要通过基类的指针或引用来调用虚函数
    答案:在基类中定义了虚函数###在派生类中对虚函数进行了重新定义###要有一个继承层次###要通过基类的指针或引用来调用虚函数
  13. 派生层次中可以被继承的有( )。

  14. A:构造函数 B:转换函数 C:静态成员函数 D:虚函数
    答案:C: 静态成员函数 D: 虚函数
  15. 以下可以作为类Time的成员的是( )。

  16. A:Time *t B:Time t C:Date d(Date为已定义好的类) D:Time& t
    答案:Date d(Date为已定义好的类)###Time *t###Time& t
  17. 一个类的友元函数可以访问该类的( )。

  18. A:公有成员 B:都不能访问 C:保护成员 D:私有成员
    答案:私有成员###公有成员###保护成员
  19. 假如类A的对象a的公有成员函数为x,指向类A的指针为p,则访问该函数的方法有( )。

  20. A:p->x() B:(*p).x() C:a.x() D:(*p)->x()
  21. 不能定义抽象类的对象,但可以定义抽象类的指针或引用。( )

  22. A:错 B:对
  23. 若表达式x+y中“+”是作为成员函数重载的运算符,则operator+有1个参数。( )

  24. A:错 B:对
  25. 可以通过运算符重载改变运算符的优先级和结合性。( )

  26. A:对 B:错
  27. 一个类可以既是基类又是派生类。( )

  28. A:错 B:对
  29. 基类中定义了虚函数后,派生类中对应的虚函数不必加virtual关键字声明。( )

  30. A:错 B:对
  31. 指向对象数组的指针必须指向该数组的首元素。( )

  32. A:错 B:对
  33. 针对ASCII码流文件和二进制文件的打开方式是相同的。( )

  34. A:对 B:错
  35. 使用类模版可以减少重复编码,提升编程效率。( )

  36. A:对 B:错
  37. 静态数据成员不能用private控制符修饰。( )

  38. A:错 B:对
  39. 通过一个已创建的对象创建同类的另一个对象时,会调用运算符重载函数。( )

  40. A:对 B:错
  41. 即使基类的构造函数是无参的,在派生类中也必须定义构造函数。( )

  42. A:错 B:对
  43. C++中的#include命令是在编译阶段之前的预处理阶段执行的。( )

  44. A:对 B:错
  45. 以下类的声明不存在语法问题。class Time{public:Time(){h=10; m=50; s=0; }Time(int hour=10; int min=50; int sec=0){h=hour; m=min; s=sec; }private:int h,m,s;}; ( )

  46. A:对 B:错
  47. 读取文件时判断是否到达文件末尾的函数是eof函数。( )

  48. A:错 B:对
  49. 对赋值运算符重载时可声明为成员函数或友元函数。( )

  50. A:错 B:对
  51. 将构造函数声明为纯虚函数是没有意义的。( )

  52. A:错 B:对
  53. 常成员函数只能被常对象调用,而不能被普通对象调用。( )

  54. A:错 B:对
  55. 静态成员函数可以被声明为虚函数。( )

  56. A:对 B:错
  57. 友元成员函数在类内只能被public控制符修饰。( )

  58. A:对 B:错
  59. 执行以下语句:double a=3.1415926, b=3.141;cout<
    A:对 B:错
  60. 定义析构函数时( )。

  61. A:没有形参,且不能重载 B:返回类型是void类型  C:函数体中必须包含对象清理相关语句 D:其名称与类名完全相同      
  62. 编写C++程序代码一般经过的步骤是( )。

  63. A:编辑、编译、调试、运行 B:编译、连接、编辑、运行 C:编辑、编译、连接、运行 D:编译、编辑、连接、运行
  64. 下列关于new运算符的描述错误的是( )。

  65. A:它可以用来动态创建对象数组 B:使用它创建的对象可以使用运算符delete删除 C:使用它创建对象数组时必须指定初始值 D:使用它创建对象时要调用构造函数
  66. 一个可正常运行的C++源程序( )。

  67. A:必须由一个主函数和一个以上的普通函数构成 B:可以由一个或多个主函数构成 C:可以不包含普通函数仅由一个主函数构成 D:仅能包含一个主函数
  68. 若类中的两个公用函数f1和f2的调用规则为:f1不允许调用f2,则说明( )。

  69. A:f1和f2都为静态成员函数 B:f1和f2都不是静态成员函数 C:f2是静态成员函数,f1不是 D:f1是静态成员函数,f2不是
  70. 基类中声明的虚函数,在派生类中( )。

  71. A:若没有重新定义,则不是虚函数 B:无法继承该虚函数 C:只有重新加virtual定义才是虚函数 D:即使不加virtual声明,也会自动继承该虚函数
  72. 关于类和对象的关系,不正确的是( )。

  73. A:一个对象只能属于一个类 B:类本身是不占用内存空间的 C:一个类只能有一个对象 D:类和对象的关系就是一种数据类型与变量的关系
  74. 在C++的输入输出流中用于屏幕输出的对象是( )。

  75. A:cout B:cin C:cerr D:cfile
  76. C++中设置this指针是为了( )。

  77. A:保证基类私有成员在子类中可以被访问 B:保证基类保护成员在子类中可以被访问  C:区分不同对象拥有的数据成员,但共享这些处理数据成员的代码  D:保证基类公用成员在子类中可以被访问 
  78. 假定类 Student中有一个公共访问属性的静态数据成员 static int count;则在类外不通过对象名对count赋值为50的写法为( )。

  79. A:count=50; B:student::count=50; C:int count=50; D:int Student::count=50;
  80. 若对后置单目运算符“++”进行重载,相当于进行如下哪项函数调用( )。

  81. A:operator++(a, 0) B:a.operator++() C:operator++() D:a.operator++(a, 0)
  82. 以下关于this指针说法正确的是( )。

  83. A:类的成员函数都有this指针 B:类内部的函数都有this指针 C:类的友元函数包含this指针 D:类的非静态成员函数包含this指针
  84. 多态性是指( )。

  85. A:多个派生类的对象调用不同名的函数 B:一个对象调用多个不同名的函数 C:一个对象调用多个同名的函数 D:多个派生类对象调用同名的函数
  86. 使用派生类的主要原因是( )。

  87. A:加强类的封装性 B:实现数据的隐藏 C:提升软件代码的可重用性 D:提升程序的执行效率
  88. 分析如下程序:#includeusing namespace std;class A{public:A(){cout<<’A’;}A(char c) {cout<
    A:ABOB B:AOB C:AOBB D:ABO
  89. 私有继承时,基类中的成员在派生类中( )。

  90. A:保持不变 B:变为保护成员 C:无法被派生类访问 D:无法被派生类对象访问
  91. 分析如下程序:#include using namespace std;class A{public:A() { cout << "A "; }virtual ~A() { cout << "~A "; }};class B :public A{public:B() { cout << "B ";}virtual ~B(){cout << "~B ";}};int main(){ A* p = new B;delete p;return 0;}运行结果为:( )。

  92. A:B A ~B B:A B ~B C:A B ~A ~B D:A B ~B ~A
  93. 假设已定义了Time类,并有语句"Time*arr[50];",则下列描述正确的是( )。

  94. A:arr是一个包含50个元素的数组,每个元素是一个指向Time类的对象指针 B:arr[0]存储了首个Time对象 C:arr是一个指向对象数组中第50个元素的指针 D:arr是一个指向对象数组的指针,该对象数组包含50个Time类的对象
  95. 使用delete运算符释放对象时( )。

  96. A:首先调用析构函数,然后释放对象占据的内存空间 B:首先释放对象占据的内存空间,然后调用析构函数 C:首先释放对象占据的内存空间,然后调用构造函数 D:首先调用构造函数,然后释放对象占据的内存空间
  97. 若要防止通过指针p修改所指向的student类的对象,则应将指针p声明为( )。

  98. A:const student* p; B:student *const p; C:const student *const p; D:student const * p;

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