( a)年正式取名为C++
[A] 1983
[B] 1986
[C] 1978
[D] 1999
int类型占用(c)字节存储空间。
[A] 1
[B] 2
[C] 4
[D] 8
使用if—else语句嵌套最多可以实现(d)分支
[A] 1
[B] 2
[C] 4
[D] 无数多条
(b)循环语句至少会被执行一次。
[A] while
[B] do_while
[C] for
[D] 都不是
for循环的判断条件是(b)
[A] 第一个表达式
[B] 第二个表达式
[C] 第三个表达式
[D] 以上都不对
定义结构体使用的关键字是(d)
[A] virtual
[B] union
[C] private
[D] struct
下列说法错误的是(a)
[A] 函数可以嵌套定义
[B] 函数可以嵌套调用
[C] 函数可以没有参数
[D] 函数可以有多个参数
要把一个函数定义为内联函数,应该使用关键字(c)
[A] void
[B] important
[C] inline
[D] line
重载函数的必须满足(a)
[A] 形参个数或类型不同
[B] 返回值不同
[C] 函数名不同
[D] 形参名不同
类中(c)修饰的成员可以在类外访问。
[A] private
[B] protected
[C] public
[D] 以上都不对
构造函数(b)时候被自动调用。
[A] 对象销毁
[B] 对象创建
[C] 对象引用
[D] 对象赋值
析构函数(a)时候被自动调用。
[A] 对象销毁
[B] 对象创建
[C] 对象引用
[D] 对象赋值
UML语言是一种可视化的的面向对象(c)语言。
[A] 编程
[B] 编辑
[C] 建模
[D] 设计
在函数内部声明静态生存期对象,要冠以关键字(a)
[A] static
[B] virtual
[C] class
[D] public
静态生存期与程序的(c)相同。
[A] 编辑期
[B] 编译期
[C] 运行期
[D] 连接期
友元函数是在类声明中由关键字(a)修饰说明的非成员函数。
[A] friend
[B] virtual
[C] private
[D] public
包含指令使用的关键字是(a)
[A] #include
[B] #define
[C] #if
[D] #undef
一维数组的下标从(a)开始。
[A] 0
[B] 1
[C] 2
[D] 3
定义二维数组int a[3[4],一共定义了(c)个元素。
[A] 3
[B] 4
[C] 12
[D] 24
假设有定义int *p,则p=p+1后,p中地址值会(c)
[A] 加1
[B] 加2
[C] 加4
[D] 加8
存放字符串“china”需要占用(c)个字节内存空间。
[A] 1
[B] 5
[C] 6
[D] 8
下面哪一个不是类的继承方式(d)。
[A] public
[B] protected
[C] private
[D] inline
下列说法错误的是(d)
[A] 基类的构造函数不被继承
[B] 声明构造函数时,只需要对本类中新增成员进行初始化
[C] 派生类的构造函数需要给基类的构造函数传递参数
[D] 声明构造函数时,不但需要对本类中新增成员进行初始化,而且要为基类成员初始化
定义虚基类需要使用关键字(c)。
[A] private
[B] class
[C] virtua1
[D] static
函数重载实现了面向对象的(c)。
[A] 抽象性
[B] 封装性
[C] 多态性
[D] 继承
静态联编是在(b)阶段实现的。
[A] 编辑
[B] 编译
[C] 连接
[D] 运行
下列关于抽象类说法错误的是(b)。
[A] 抽象类只能作为基类来使用
[B] 可以声明抽象类的对象
[C] 构造函数不能是虚函数
[D] 析构函数可以是虚函数
【题型:单选】【分数:2分】
[1] 一个C++源程序文件的扩展名为( )
得分: 2分
答: C
A .h
B .c
C .cpp
D .cp
【题型:单选】【分数:2分】
[2] 一个类的静态数据成员所表示属性( )
得分: 2分
答: C
A 是类或对象的属性
B 只是对象的属性
C 只是类的属性
D 是类和友元的属性
【题型:单选】【分数:2分】
[3] 假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “Ax(4,5);”语句后,x.a和x.b的值分别为( )
得分: 2分
答: C
A 4和5
B 5和4
C 4和20
D 20和5
【题型:单选】【分数:2分】
[4] 以下哪个基类中的成员函数表示纯虚函数? ( )
得分: 2分
答: C
A virtual void vf(int)
B void vf(int) = 0
C virtual void vf()=0
D virtual void yf(int){}
【题型:单选】【分数:2分】
[5] 继承机制的作用是( )
得分: 2分
答: C
A 信息隐藏
B 数据封装
C 定义新类
D 数据抽象
【题型:单选】【分数:2分】
[6] 如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )
得分: 2分
答: D
A a.operator++(1)
B operator++(a)
C operator++(a,1)
D a.operator++()
【题型:单选】【分数:2分】
[7] 假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;”语句时共调用该类析构函数的次数为( )
得分: 2分
答: C
A 0
B 1
C n
D n+1
【题型:单选】【分数:2分】
[8] 假定AB为一个类,则执行 “AB a(2), b[3], *p[4];”语句时共调用该类构造函数的次数为( )
得分: 2分
答: B
A 3
B 4
C 5
D 9
【题型:单选】【分数:2分】
[9] 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )
得分: 2分
答: B
A 1
B 2
C 4
D 5
【题型:单选】【分数:2分】
[10] 编写C++程序一般需经过的几个步骤依次是( )
得分: 2分
答: B
A 编译、编辑、连接、调试
B 编辑、编译、连接、调试
C 编译、调试、编辑、连接
D 编辑、调试、编译、连接
【题型:单选】【分数:2分】
[11] 对于友元描述正确的是( )
得分: 2分
答: B
A 友元是本类的成员函数
B 友元不是本类的成员函数
C 友元不是函数
D 友元不能访问本类私有成员
【题型:单选】【分数:2分】
[12] 一个类可包含析构函数的个数是( )
得分: 2分
答: B
A 0个
B 1个
C 至少一个
D 0个或多个
【题型:单选】【分数:2分】
[13] int Func(int,int);不可与下列哪个函数构成重载( )
得分: 2分
答: B
A int Func(int,int,int);
B double Func(int,int);
C double Func(double,double);
D double Func(int,double);
【题型:单选】【分数:2分】
[14] 下列哪个类型函数不适合声明为内联函数( )
得分: 2分
答: A
A 函数体语句较多
B 函数体语句较少
C 函数执行时间较短
D 函数执行时间过长
【题型:单选】【分数:2分】
[15] 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( )
得分: 2分
答: C
A int m = max(22,max(59,70));
B int m = max(max(22,59),70);
C int m = max(22,59,70);
D int m = max(59,max(22,70));
【题型:单选】【分数:2分】
[16] 在函数调用时,如某一默认参数要指明一个特定值,则有( )
得分: 2分
答: A
A 其之前所有参数都必须赋值
B 其之后所有参数都必须赋值
C 其前、后所有参数都必须赋值
D 其前、后所有参数都不必赋值
【题型:单选】【分数:2分】
[17] 使用值传递方式将实参传给形参,下列说法正确的是( )
得分: 2分
答: A
A 形参是实参的备份
B 实参是形参的备份
C 形参和实参是同一对象
D 形参和实参无联系
【题型:单选】【分数:2分】
[18] 关于类的静态成员函数描述错误的是( )
得分: 2分
答: A
A 在创建对象前不存在
B 不能说明为虚函数
C 不能直接访问非静态函数
D 不是对象的成员
【题型:单选】【分数:2分】
[19] 设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是( )
得分: 2分
答: D
A Sum(1,2);
B Sum(3.0,2.2);
C Sum(‘A’,‘C’);
D Sum("A","C");
【题型:单选】【分数:2分】
[20] 内联函数的特点是( )
得分: 2分
答: A
A 减少代码量,加快访问速度
B 减少代码量,减缓访问速度
C 增加代码量,减缓访问速度
D 增加代码量,加快访问速度
【题型:单选】【分数:2分】
[1] 下列有关模板和继承的叙述正确的是 ( )
得分: 2分
答: D
A 模板和继承都可以派生出一个类系
B 从类系的成员看,模板类系的成员比继承类系的成员较为稳定
C 从动态性能看, 继承类系比模板类系具有更多的动态特性
D 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系
【题型:单选】【分数:2分】
[2] 下面运算符中,不能被重载的运算符是( )
得分: 2分
答: C
A <=
B -
C ?:
D []
【题型:单选】【分数:2分】
[3] 在下面格式化命令的解释中,错误的是 ( )
得分: 2分
答: C
A ios::skipws 跳过输入中的空白字符
B ios::fill() 获得当前的填充字符
C ios::hex 转换基数为八进制形式
D ios::precision 返回当前的精度
【题型:单选】【分数:2分】
[4] 以下关于抽象类的描述正确的是 ( )
得分: 2分
答: D
A 不能说明指向抽象类对象的指针或引用
B 可以说明抽象类对象
C 抽象类的纯虚函数的实现可以由自身给出,也可以由派生类给出
D 抽象类的纯虚函数的实现由派生类给出
【题型:单选】【分数:2分】
[5] 以下叙述正确的是( )
得分: 2分
答: C
A 构造函数调用虚函数采用动态联编
B 构造函数可以说明为虚函数
C 当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数
D 析构函数调用虚函数采用动态联编
【题型:单选】【分数:2分】
[6] 假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj为类X的对象,则obj.func()语句实现的功能为 ( )
得分: 2分
答: C
A 先执行类X的func(),再执行访问类Y的func()
B 先执行类Y的func(),再执行访问类X的func()
C 执行类X的func()
D 执行类Y的func()
【题型:单选】【分数:2分】
[7] 解决二义性问题的方法有( )
得分: 2分
答: C
A 只能使用作用域分辨操作符
B 使用作用域分辨操作符或赋值兼容规则
C 使用作用域分辨操作符或虚基类
D 使用虚基类或赋值兼容规则
【题型:单选】【分数:2分】
[8] 以下有关继承的叙述正确的是 ( )
得分: 2分
答: B
A 构造函数和析构函数都能被继承
B 派生类是基类的组合
C 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D 基类的公有成员一定能被派生类的对象访问
【题型:单选】【分数:2分】
[9] 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( )
得分: 2分
答: A
A 内联函数
B 重载函数
C 递归函数
D 嵌套函数
【题型:单选】【分数:2分】
[10] 类MyA的拷贝初始化构造函数是 ( )
得分: 2分
答: C
A MyA()
B MyA(MyA*)
C MyA(MyA&)
D MyA(MyA)
【题型:单选】【分数:2分】
[11] 有如下程序段: int *p,a[6]={-1,0,1,2,3,4}; p=a+3; 执行该程序段后,*p的值为 ( )
得分: 2分
答: B
A 4
B 2
C 1
D NULL
【题型:单选】【分数:2分】
[12] 所谓多态性是指 ( )
得分: 2分
答: B
A 不同的对象调用不同名称的函数
B 不同的对象调用相同名称的函数
C 一个对象调用不同名称的函数
D 一个对象调用不同名称的对象
【题型:单选】【分数:2分】
[13] 对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<
得分: 2分
答: C
A A::func2( )和B::func1( )都是虚函数
B A::func2( )和B::func1( )都不是虚函数
C B::func1( )是虚函数,而A::func2( )不是虚函数
D B::func1( )不是虚函数,而A::func2( )是虚函数
【题型:单选】【分数:2分】
[14] 在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( )
得分: 2分
答: C
A 派生类的对象可以赋给基类的对象
B 派生类的对象可以初始化基类的引用
C 派生类的对象可以直接访问基类中的成员
D 派生类的对象的地址可以赋给指向基类的指针
【题型:单选】【分数:2分】
[15] 可以用p.a的形式访问派生类对象p的基类成员a,其中a是( )
得分: 2分
答: D
A 私有继承的公有成员
B 公有继承的私有成员
C 公有继承的保护成员
D 公有继承的公有成员
【题型:单选】【分数:2分】
[16] 下面说法正确的是( )
得分: 2分
答: B
A 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C 类的内联函数必须在类体内定义
D 类的内联函数必须在类体外通过加关键字inline定义
【题型:单选】【分数:2分】
[17] 语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( )
得分: 2分
答: A
A 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B 若文件存在,将其置为空文件;若文件不存在,打开失败
C 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D 若文件存在,打开失败;若文件不存在,建立一个新文件
【题型:单选】【分数:2分】
[18] 友元关系不能( )
得分: 2分
答: A
A 继承
B 是类与类的关系
C 是一个类的成员函数与另一个类的关系
D 提高程序的运行效率
【题型:单选】【分数:2分】
[19] 对于任意一个类,析构函数的个数最多为( )
得分: 2分
答: B
A 0
B 1
C 2
D 3
【题型:单选】【分数:2分】
[20] 在C++程序中,对象之间的相互通信通过( )
得分: 2分
答: B
A 继承实现
B 调用成员函数实现
C 封装实现
D 函数重载实现
【题型:单选】【分数:2分】
[1] 派生类的对象可以访问以下那种情况继承的基类成员( )
得分: 2分
答: D
A 私有继承的私有成员
B 公有继承的私有成员
C 私有继承的保护成员
D 公有继承的公有成员
【题型:单选】【分数:2分】
[2] 如果类A被声明成类B的友元,则( )
得分: 2分
答: D
A 类A的成员即类B的成员
B 类B的成员即类A的成员
C 类A的成员函数不得访问类B的成员
D 类B不一定是类A的友元
【题型:单选】【分数:2分】
[3] 关于类的静态成员函数描述错误的是( )
得分: 2分
答: A
A 在创建对象前不存在
B 不能说明为虚函数
C 不能直接访问非静态函数
D 不是对象的成员
【题型:单选】【分数:2分】
[4] 类的构造函数在以下什么情况下会被自动调用( )
得分: 2分
答: B
A 定义成员函数时
B 定义对象时
C 定义数据成员时
D 定义友元函数时
【题型:单选】【分数:2分】
[5] 在下列成对的表达式中,运算结果类型相同的一对是( )
得分: 2分
答: D
A 7/2和7.0/2.0
B 7/2.0和7/2
C 7.0/2和7/2
D 7.0/2.0和7.0/2
【题型:单选】【分数:2分】
[6] 设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( )
得分: 2分
答: B
A int m=min(min(15,26),min(15,47));
B int m=min(15,26,47);
C int m=min(15,min(47,26));
D int m =min(min(47,26),16);
【题型:单选】【分数:2分】
[7] 用于标识十六进制前缀或后缀是( )
得分: 2分
答: D
A 无
B 后缀L或e
C 前缀零
D 前缀0x
【题型:单选】【分数:2分】
[8] 包含自定义头文件file.h的预处理指令是( )
得分: 2分
答: D
A #define<file.h>
B #include file.h
C #define file.h
D #include"file.h"
【题型:单选】【分数:2分】
[9] 假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )
得分: 2分
答: A
A X,Y;Y,X
B X,Y;X,Y
C Y,X;X,Y
D Y,X;Y,X
【题型:单选】【分数:2分】
[10] 以下叙述错误的是( )
得分: 2分
答: D
A 基类的保护成员在公有派生类中仍然是保护成员
B 基类的保护成员在派生类中仍然是保护成员
C 基类的保护成员在私有派生类中是私有成员
D 基类的保护成员不能被派生类的对象访问
【题型:单选】【分数:2分】
[11] 若Sample类中的一个成员函数说明如下: voidset(Sample&a),则Sample&a的含义是( )
得分: 2分
答: B
A 指向类Sample的名为a的指针
B a是类Sample的对象引用,用来作函数Set()的形参
C 将a的地址赋给变量Set
D 变量Sample与a按位与的结果作为函数Set的参数
【题型:单选】【分数:2分】
[12] 在C++中把不返回任何类型的函数应该说明为( )
得分: 2分
答: C
A int
B char
C void
D double
【题型:单选】【分数:2分】
[13] 有关C++编译指令,以下叙述正确的是( )
得分: 2分
答: B
A C++每行可以写多条编译指令
B #include指令中的文件名可含有路径信息
C C++的编译指令可以以#或//开始
D C++中不管#if后的常量表达式是否为真,该部分都需要编译
【题型:单选】【分数:2分】
[14] 类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )
得分: 2分
答: A
A 调用类A中的函数func()
B 调用类B中的函数func()
C 根据p所指的对象类型而确定调用类A中或类B中的函数func()
D 既调用类A中函数,也调用类B中的函数
【题型:单选】【分数:2分】
[15] 下列说法中正确的是( )
得分: 2分
答: B
A 类定义中只能说明函数成员的函数头,不能定义函数体
B 类中的函数成员可以在类体中定义,也可以在类体之外定义
C 类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D 在类体之外定义的函数成员不能操作该类的私有数据成员
【题型:单选】【分数:2分】
[16] 如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )
得分: 2分
答: B
A operator*(i.operator++(),k)
B operator*(operator++(i),k)
C i.operator++().operator*(k)
D k.operator*(operator++(i))
【题型:单选】【分数:2分】
[17] 设有函数模板 template Q Sum(Qx,Qy){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是( )
得分: 2分
答: D
A Sum(10,2);
B Sum(5.0,6.7);
C Sum(15.2f,16.0f);
D Sum(″AB″,″CD″);
【题型:单选】【分数:2分】
[18] 类的构造函数被自动调用执行的情况是在定义该类的( )
得分: 2分
答: C
A 成员函数时
B 数据成员时
C 对象时
D 友元函数时
【题型:单选】【分数:2分】
[19] 面向对象的程序设计语言必须具备的关键要素是( )
得分: 2分
答: C
A 抽象和封装
B 抽象和多态性
C 抽象、封装、继承和多态性
D 抽象、封装和继承性
【题型:单选】【分数:2分】
[20] 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )
得分: 2分
答: B
A 类
B 对象
C 函数体
D 数据块
【题型:单选】【分数:2分】
[1] 如没有使用private关键字定义类的数据成员,则默认为( )
得分: 2分
答: A
A private
B public
C protected
D friend
【题型:单选】【分数:2分】
[2] 对使用关键字new所开辟的动态存储空间,释放时必须使用( )
得分: 2分
答: C
A free
B create
C delete
D realse
【题型:单选】【分数:2分】
[3] 在C++中使用流进行输入输出,其中用于屏幕输出的对象是( )
得分: 2分
答: C
A cerr
B cin
C cout
D cfile
【题型:单选】【分数:2分】
[4] 对C++语言和C语言的兼容性,描述正确的是( )
得分: 2分
答: A
A C++兼容C
B C++部分兼容C
C C++不兼容C
D C兼容C++
【题型:单选】【分数:2分】
[5] 在哪种派生方式中,派生类可以访问基类中的protected成员( )
得分: 2分
答: B
A public和private
B public和protected
C protected和private
D 仅protected
【题型:单选】【分数:2分】
[6] 下列描述错误的是( )
得分: 2分
答: A
A 在创建对象前,静态成员不存在
B 静态成员是类的成员
C 静态成员不能是虚函数
D 静态成员函数不能直接访问非静态成员
【题型:单选】【分数:2分】
[7] 设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( )
得分: 2分
答: B
A A类构造函数先执行
B 成员构造函数先执行
C 两者并行执行
D 不能确定
【题型:单选】【分数:2分】
[8] 下列关于类的权限的描述错误的是( )
得分: 2分
答: A
A 类本身的成员函数只能访问自身的私有成员
B 类的对象只能访问该类的公有成员
C 普通函数不能直接访问类的公有成员,必须通过对象访问
D 一个类可以将另一个类的对象作为成员
【题型:单选】【分数:2分】
[9] this指针存在的目的是( )
得分: 2分
答: B
A 保证基类公有成员在子类中可以被访问
B 保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码
C 保证基类保护成员在子类中可以被访问
D 保证基类私有成员在子类中可以被访问
【题型:单选】【分数:2分】
[10] 如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( )
得分: 2分
答: A
A 编译器总是自动创建一个不带参数的构造函数
B 这个类没有构造函数
C 这个类不需要构造函数
D 该类不能通过编译
【题型:单选】【分数:2分】
[11] 类的私有成员可在何处访问( )
得分: 2分
答: D
A 通过子类的对象访问
B 本类及子类的成员函数中
C 通过该类对象访问
D 本类的成员函数中
【题型:单选】【分数:2分】
[12] 对类中声明的变量,下列描述中正确的是( )
得分: 2分
答: C
A 属于全局变量
B 只属于该类
C 属于该类,某些情况下也可被该类不同实例所共享
D 任何情况下都可被该类所有实例共享
【题型:单选】【分数:2分】
[13] 如没有使用private关键字定义类的数据成员,则默认为( )
得分: 2分
答: A
A private
B public
C protected
D friend
【题型:单选】【分数:2分】
[14] 对使用关键字new所开辟的动态存储空间,释放时必须使用( )
得分: 2分
答: C
A free
B create
C delete
D realse
【题型:单选】【分数:2分】
[15] 如果类A被声明成类B的友元,则( )
得分: 2分
答: D
A 类A的成员即类B的成员
B 类B的成员即类A的成员
C 类A的成员函数不得访问类B的成员
D 类B不一定是类A的友元
【题型:单选】【分数:2分】
[16] 下列哪个编译指令属于条件编译指令( )
得分: 2分
答: C
A #include
B #define
C #else
D #pragma
【题型:单选】【分数:2分】
[17] 在下列成对的表达式中,运算结果类型相同的一对是( )
得分: 2分
答: D
A 7/2和7.0/2.0
B 7/2.0和7/2
C 7.0/2和7/2
D 7.0/2.0和7.0/2
【题型:单选】【分数:2分】
[18] 设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( )
得分: 2分
答: C
A 10,10
B 10,15
C 15,10
D 15,15
【题型:单选】【分数:2分】
[19] 设存在整型变量int x,则下列句与其它三项含义不同的是( )
得分: 2分
答: A
A int* p=&x;
B int& p=x;
C int & p=x;
D int &p=x;
【题型:单选】【分数:2分】
[20] 派生类的对象可以访问以下那种情况继承的基类成员( )
得分: 2分
答: D
A 私有继承的私有成员
B 公有继承的私有成员
C 私有继承的保护成员
D 公有继承的公有成员
【题型:单选】【分数:2分】
[1] 所有在函数中定义的变量,都是( )
得分: 2分
答: B
A 全局变量
B 局部变量
C 静态变量
D 寄存器变量
【题型:单选】【分数:2分】
[2] 在C++中实现封装是借助于( )
得分: 2分
答: B
A 枚举
B 类
C 数组
D 函数
【题型:单选】【分数:2分】
[3] 下面叙述不正确的是( )
得分: 2分
答: D
A 派生类一般都用公有派生
B 对基类成员的访问必须是无二义性的
C 赋值兼容规则也适用于多重继承的组合
D 基类的公有成员在派生类中仍然是公有的
【题型:单选】【分数:2分】
[4] 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )
得分: 2分
答: A
A 都是虚函数
B 只有被重新说明时才是虚函数
C 只有被重新说明为virtual时才是虚函数
D 都不是虚函数
【题型:单选】【分数:2分】
[5] 静态成员函数没有( )
得分: 2分
答: B
A 返回值
B this指针
C 指针参数
D 返回类型
【题型:单选】【分数:2分】
[6] 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )
得分: 2分
答: D
A const char *p=“ABCD”;
B char const *p=“ABCD”;
C char *const p=“ABCD”;
D const char * const p=“ABCD”;
【题型:单选】【分数:2分】
[7] 类的指针成员的初始化是通过函数完成的,这个函数通常是( )
得分: 2分
答: B
A 析构函数
B 构造函数
C 其它成员函数
D 友元函数
【题型:单选】【分数:2分】
[8] 在下列成对的表达式中,运算符“+”的意义不相同的一对是( )
得分: 2分
答: C
A 5.0+2.0和5.0+2
B 5.0+2.0和5+2.0
C 5.0+2.0和5+2
D 5+2.0和5.0+2
【题型:单选】【分数:2分】
[9] 通常情况下,函数模板中的类型参数个数不能是( )
得分: 2分
答: A
A 0
B 2
C 4
D 3
【题型:单选】【分数:2分】
[10] 下列特性中,C与C++共有的是( )
得分: 2分
答: D
A 继承
B 封装
C 多态性
D 函数定义不能嵌套
【题型:单选】【分数:2分】
[11] 下列函数不能和函数void print(char)构成重载的是( )
得分: 2分
答: C
A int print(int);
B void print(char,char);
C int print(char);
D void print(int,int);
【题型:单选】【分数:2分】
[12] 内联函数的特点是( )
得分: 2分
答: A
A 减少代码量,加快访问速度
B 减少代码量,减缓访问速度
C 增加代码量,减缓访问速度
D 增加代码量,加快访问速度
【题型:单选】【分数:2分】
[13] 类的私有成员可在何处被访问( )
得分: 2分
答: A
A 本类的成员函数中
B 本类及子类的成员函数中
C 通过对象名在任何位置
D 不可访问
【题型:单选】【分数:2分】
[14] 类的构造函数在以下什么情况下会被自动调用( )
得分: 2分
答: B
A 定义成员函数时
B 定义对象时
C 定义数据成员时
D 定义友元函数时
【题型:单选】【分数:2分】
[15] 下列关于析构函数描述正确的是( )
得分: 2分
答: D
A 可以重载
B 函数体中必须有delete语句
C 返回类型必须是void类型
D 不能指定返回类型
【题型:单选】【分数:2分】
[16] 设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是( )
得分: 2分
答: D
A Sum(1,2);
B Sum(3.0,2.2);
C Sum(‘A’,‘C’);
D Sum("A","C");
【题型:单选】【分数:2分】
[17] 下列哪个编译指令属于条件编译指令( )
得分: 2分
答: C
A #include
B #define
C #else
D #pragma
【题型:单选】【分数:2分】
[18] 关于类的静态成员函数描述错误的是( )
得分: 2分
答: A
A 在创建对象前不存在
B 不能说明为虚函数
C 不能直接访问非静态函数
D 不是对象的成员
【题型:单选】【分数:2分】
[19] 如果类A被声明成类B的友元,则( )
得分: 2分
答: D
A 类A的成员即类B的成员
B 类B的成员即类A的成员
C 类A的成员函数不得访问类B的成员
D 类B不一定是类A的友元
【题型:单选】【分数:2分】
[20] 派生类的对象可以访问以下那种情况继承的基类成员( )
得分: 2分
答: D
A 私有继承的私有成员
B 公有继承的私有成员
C 私有继承的保护成员
D 公有继承的公有成员