(16)下面关于break语句的描述中,不正确的是 A)break可以用于循环体内 B) break语句可以在for循环语句中出现多次 C)break语句可以在switch语句中出现多次 D)break语句可用于if条件判断语句内
(17)下面关于数组的描述错误的是 A)在C++语言中数组的名字就是指向该数组第一个元素的指针 B)长度为n的数组,下标的范围是0-n-1 C)数组的大小必须在编译时确定 D)数组只能通过值参数和引用参数两种方式传递给函数
(18)下面程序错误的语句是 ①#include<iostream. h> ②void main() ③{ ④int*p=new int[1]; ⑤p=9; ⑥cout <<*p<<eddl; ⑦delete[]p ⑧} A)④ B)⑤ C)⑥ D)⑦
(19)下面的哪个选项不能作为函数的返回类型? A)void B)int C)new D)long
(20)不能作为重载函数的调用的依据是 A)参数个数 B)参数类型 C)函数类型 D)函数名称
(21)下列程序的输出结果为 #include< iostream. h> int func(int n) { if〔n<1)return 1; else return n+tune(n-1): return 0; } void main() { cout<<func(5)<<endl; A) 0 B)10 C)15 D)16
(22)在C++语言中,数据封装要解决的问题是 A)数据的规范化 B)便于数据转换 C)避免数据丢失 D)防止不同模块之间数据的非法访问
(23)以下程序中,错误的行是 ①#include<iostream. h> ②class A ③{ ④ public: ⑤ int n=2: ⑥ A( int val){cout<<val<<endl;} ⑦ ~A(){}; ⑧}; ⑨void main() ⑩{ ⑩ A a(0); ⑩} A)⑤ B)⑥ C)⑦ D)⑩
(24)对类的构造函数和析构函数描述正确的是 A)构造函数可以重载,析构函数不能重载 B)构造函数不能重载,析构函数可以重载 C)构造函数可以重载,析构函数也可以重载 D)构造函数不能重载,析构函数也不能重载
(25)下面程序的运行结果为 #include(iostream. h> class A { int num; public: A(int i){num=i;} A(A &a){num=a. num++;} void print(){cout<<num;} }; void main() { A a(1),b(a); a. print(); b.print(); A)11 B)12 C)21 D)22
(26)下面对静态数据成员的描述中,正确的是 A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用
(27)如果类A被说明成类B的友元,则 A)类A的成员即类B的成员 B)类B的成员即类A的成员 C)类A的成员函数不得访问类B的成员 D)类B不一定是类A的友元
(28)可以用p.a的形式访问派生类对象P的基类成员a,其中a是 A)私有继承的公有成员 B)公有继承的私有成员 C)公有继承的保护成员 D)公有继承的公有成员
(29)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为 A)abc B)acb C)cab D)cba
(30)下面关于虚函数的描述,错误的是 A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数 B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C)虚函数可以是另一个类的友元函数,但不能是静态成员函数 D)基类中说明的纯虚函数在其任何派生类中都必须实现 |