设有函数模板
template
Q Sum(Q x,Q y)
{return (x)+(y);}
则下列语句中对该函数模板错误的使用是()
Sum(10,2);
Sum(5.0,6.7);
Sum(15.2f,16.0f);
答案是:答案 D
类中的protected成员在何处访问?
只类自身成员函数中
只子类成员函数中
类和子类的成员函数中
通过对象类外访问
答案是:答案 C
对一个向量来说,不正确的叙述是( )。
向量和数组不同,向量的长度是可变的
向量有返回无需再次分配内存就能容纳对象个数的成员函数capacity( )
如果向量空间已满,当增加一个元素时,向量成员函数capacity( )的长度自动增
答案是:答案 D
关于类的静态成员函数描述错误的是( )
不是对象的成员
不能说明为虚函数
不能直接访问非静态函数
在创建对象前不存在
答案是:答案 D
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()
类
对象
函数体
数据块
答案是:答案 A
下列不是描述类的成员函数的是()
构造函数
析构函数
友元函数
拷贝构造函数
答案是:答案 C
一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( )
内联函数
重载函数
递归函数
嵌套函数
答案是:答案 A
下列选项不是C++关键字的是( )
class
void
bool
inc
答案是:答案 D
在类中说明的成public
extern
cpu
register员可以使用关键字的是()
答案是:答案A
若Sample类中的一个成员函数说明如下:
void set(Sample& a),则Sample& a的含义是()
指向类Sample的名为a的指针
a是类Sample的对象引用,用来作函数Set()的形参
将a的地址赋给变量Se
答案是:答案B
关于this指针使用说法正确的是()
保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
保证基类私有成员在子类中可以被访问。
保证基类保护成员在子类中可以被访问。
保证基类公有成员在子类中可以被访问
答案是:答案A
如果从原有类定义新类可以实现的是()
信息隐藏
数据封装
继承机制
数据抽象
答案是:答案 C
C++的继承性允许派生类继承基类的()
部分特性,并允许增加新的特性或重定义基类的特性
部分特性,但不允许增加新的特性或重定义基类的特性
所有特性,并允许增加新的特性或重定义基类的特性
所有特性,但不允许增加新的特性或重定义基类的特
答案是:答案A
友元关系不能()
提高程序的运行效率
是类与类的关系
是一个类的成员函数与另一个类的关系
继承
答案是:答案 D
用于标识十六进制前缀或后缀是( )
元
后缀L或e
前缀零
答案是:答案 D
在编译指令中,宏定义使用的指令是
#include
#define
#if
#else
答案是:答案 B
下面关于类模板叙述不正确的是( )。
可以继承
可以有多个析构函数
可以有多个构造函数
可以有多个参数
答案是:答案 B
不同对象调用同名函数,但导致完全不同行为的现象称为
抽象
封装
继承
多态性
答案是:答案 D
设有定义int i;double j=5;,则10+i+j值的数据类型是()
int
double
float
不确定
答案是:答案 B
下列程序的输出结果是()
#include
void main()
{int n[][3]={10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<",
答案是:答案 B
在编译指令中,宏定义使用哪个指令()
#if
#include
#define
答案是:答案 C
声明函数为内联使用的关键字为
const
inline
short
signed
答案是:答案 B
假定A为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()
x.a
x.a()
x->a
(*x).a()
答案是:答案B
构造函数不具备的特征是()
构造函数的函数名与类名相同
构造函数可以重载
构造函数可以设置默认参数
构造函数必须指定类型说明
答案是:答案 D
类的构造函数被自动调用执行的情况是在定义该类的()
成员函数时
数据成员时
对象时
友元函数时
答案是:答案 C
实现两个相同类型数加法的函数模板的声明是()
add(T x,T y)
T add(x,y)
T add(T x,y)
T add(T x,T y)
答案是:答案 D
设有函数模板
template
Q Sum(Q x,Q y)
{return (x)+(y);}
则下列语句中对该函数模板错误的使用是()
Sum(10,2);
Sum(5.0,6.7);
Sum(15.2f,16.0f);
答案是:答案 D
所谓多态性是指 ()
不同的对象调用不同名称的函数
不同的对象调用相同名称的函数
一个对象调用不同名称的函数
一个对象调用不同名称的对象
答案是:答案B
对基类和派生类的关系描述中,错误的是()
派生类是基类的具体化
基类继承了派生类的属性
派生类是基类定义的延续
派生类是基类的特殊化
答案是:答案 A
如果类A被说明成类B的友元,则()
类B不一定是类A的友元
类B的成员即类A的成员
类A的成员即类B的成员
类A的成员函数不得访问类B的成员
答案是:答案 A
在函数定义中的形参属于()
全局变量
局部变量
静态变量
寄存器变量
答案是:答案 B
下列程序的输出结果是()
#include
void main()
{int n[][3]={10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<",
答案是:答案B
对一个向量来说,不正确的叙述是( )。
向量和数组不同,向量的长度是可变的
向量有返回无需再次分配内存就能容纳对象个数的成员函数capacity( )
如果向量空间已满,当增加一个元素时,向量成员函数capacity( )的长度自动增
答案是:答案 D
用于标识十六进制常量的前缀或后缀是
无
后缀L或l
前缀零
前缀0x
答案是:答案D
C++允许在结构中定义函数,这些函数称为
静态函数
构造函数
析构函数
成员函数
答案是:答案 D
可替换#define PI 3.1415926的语句是( )
float PI 3.1415926;
const float PI=3.1415926;
const PI(3.1415926);
const 3.1415926;
答案是:答案 B
设存在整型变量int x,则下列句与其它三项含义不同的是( )
int* p=&x;
int& p=x;
int & p=x;
int &p=x;
答案是:答案 A
下列有关重载函数的说法中正确的是()
重载函数必须具有不同的返回值类型
重载函数参数个数必须相同
重载函数必须有不同的形参列表
重载函数名可以不同
答案是:答案 C
对于int *pa[5];的描述,正确的是()
pa是一个指向数组的指针,所指向的数组是5个int型元素
pa是一个指向某个数组中第5个元素的指针,该元素是int型变量
pa[5]表示某个数组的第5个元素的值
pa是一个具有5个元素
答案是:答案 D
C++类体系中,不能被派生类继承的有()
常成员函数
构造函数
虚函数
静态成员函数
答案是:答案 B
在int a=3,int *p=&a;中,*p的值是()
变量a的地址值
无意义
变量p的地
3
答案是:答案 D
用于标识十六进制前缀或后缀是( )
元
后缀L或e
前缀零
前缀0x
答案是:答案 D
假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数为()
3
4
5
9
答案是:答案 B
函数模板template void Func(T,T)不能具有哪种实例化形式?
void Finc( int,int)
void Finc( bool,bool)
void Finc( double,int)
void Finc(
答案是:答案 C
设有定义int i;double j=5;,则10+i+j值的数据类型是()int
double
float
不确定
答案是:答案 B
基类中的public成员,通过public派生,基在派生类中的可见性为
不可访问
private
protected
public
答案是:答案 A
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()
类
对象
函数体
数据块
答案是:答案 A
当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()
都是虚函数
只有被重新说明时才是虚函数
只有被重新说明为virtual时才是虚函数
都不是虚函数
答案是:答案 A
已知类A是类B的友元,类B是类C的友元,则()
类A一定是类C的友元
类C一定是类A的友元
类C的成员函数可以访问类B的对象的任何成员
类A的成员函数可以访问类B的对象的任何成员
答案是:答案 C
函数重载必须满足的条件是
函数名相同
参数个数不同
参数类型不同
函数名不相同
答案是:答案 A
静态成员函数没有()
返回值
this指针
指针参数
返回类型
答案是:答案 B
有关多态性说法不正确的是()
C++语言的多态性分为编译时的多态性和运行时的多态性
编译时的多态性可通过函数重载实现
运行时的多态性可通过模板和虚函数实现
实现运行时多态性的机制称为动态多态性
答案是:答案C
下列关于静态数据成员的描述中正确的是()
、静态数据成员是类的所有对象所共有的
静态数据成员要在构造函数内初始化
类的每个对象有自己的静态数据成员
静态数据成员不能通过类的对象调用
答案是:答案 D
有关C++编译指令,以下叙述正确的是()
C++每行可以写多条编译指令
#include指令中的文件名可含有路径信息
C++的编译指令可以以#或//开始
C++中不管#if后的常量表达式是否为真,该部分都需要编译
答案是:答案 B
假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()
1和0
1和4
4和0
4和1
答案是:答案 A
C++中函数中的return指令可以
只能有一条
0或多条
至少有一条
只能主函数调用
答案是:答案 B
头文件扩展名为
cpp
h
ub
ob
答案是:答案 B
使用函数setprecision( int n)必须包含的头文件是( )
iostream
fstream
ifstream
iomanip
答案是:答案 D
在编译指令中,宏定义使用哪个指令()
#if
#include
#define
#erro
答案是:答案 C
下列运算符中,在C++语言中不能重载的是()
>>
>=
::
/
答案是:答案 C
在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()
受限制
保持不变
受保护
不受保护
答案是:答案B
类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束?
:
;
,
.
答案是:答案 B
声明函数为内联使用的关键字为
const
inline
short
signed
答案是:答案 B
C++源程序文件扩展名为( )
cpp
c
1ib
obj
答案是:答案 A
基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected?
public和private
public和protected
protected和private
仅protected
答案是:答案 B
类的析构函数是对一个对象进行以下哪种操作时自动调用的是()
建立
撤销
赋值
引用
答案是:答案 B
下面叙述不正确的是()
派生类一般都用公有派生
对基类成员的访问必须是无二义性的
赋值兼容规则也适用于多重继承的组合
基类的公有成员在派生类中仍然是公有的
答案是:答案 D
设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为
9
10
11
不能确定
答案是:答案 B
下面关于类模板叙述不正确的选项是( )。
可以从一个类模板派生出一个新的类模板
不可以通过一个类来派生类模板
类模板支持单一继承
类模板可以有多个参数
答案是:答案 B
假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()
X,Y;Y,X
X,Y;X,Y
Y,X;X,Y
Y,X;Y,x
答案是:答案 A
一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( )
内联函数
重载函数
递归函数
嵌套函数
答案是:答案 A
设有函数模板
template
Q Sum(Q x,Q y)
{return (x)+(y);}
则下列语句中对该函数模板错误的使用是()
Sum(10,2);
Sum(5.0,6.7);
Sum(15.2f,16.0f);
答案是:答案 D
如果从原有类定义新类可以实现的是()
信息隐藏
数据封装
继承机制
数据抽象
答案是:答案 C
在私有继承的情况下,基类成员在派生类中的访问权限()
受限制
保持不变
受保护
不受保护
答案是:答案 A
要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()
const char *p=“ABCD”;
char *const p=“ABCD”;
char const *p=“ABCD”;
const char *
答案是:答案 D
关于new运算符的下列描述中,错误的是()
它可以用来动态创建对象和对象数组
使用它创建的对象或对象数组可以使用运算符delete删除
使用它创建对象时要调用构造函数
使用它创建对象数组时必须指定初始值
答案是:答案 D
对于多重继承,下列描述正确的是( )
所有基类使用相同的派生方式
每个基类可使用不同派生方式
只能是public派生
只能是protected派生
答案是:答案 A
已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()
f1和f2都是静态函数
f1不是静态函数,f2是静态函数
f1是静态函数,f2不是静态函数
f1和f2都不是静态函数
答案是:答案 C
在C++中,使用流进行输入输出,其中用于键盘输入()
cin
cerr
cout
clog
答案是:答案 A
关于this指针使用说法正确的是()
保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
保证基类私有成员在子类中可以被访问。
保证基类保护成员在子类中可以被访问。
保证基类公有成员在子类中可以被访问。
答案是:答案 A
在C++中不返回任何类型的函数应该说明为()
int
char
void
double
答案是:答案 C
编写C++程序一般需经过的几个步骤依次是()
编辑、调试、编译、连接
编辑、编译、连接、运行
编译、调试、编辑、连接
编译、编辑、连接、运行
答案是:答案 B
下列哪种类型的函数适合声明为内联函数?
函数体语句较多
函数体逻辑较复杂
函数执行时间较长
函数语句较少,执行速度要求高
答案是:答案 D
以下基类中的成员函数表示纯虚函数的是()
virtual void tt()=0
void tt(int)=0
virtual void tt(int)
virtual void tt(int){}
答案是:答案 A
假定一个类的构造函数为A(int aa,int bb){a=aa++;b=a*++bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()
4和5
4和20
4和24
20和5
答案是:答案 C
在构造向量时,不正确的叙述是( )。
可以使用基本数据类型
可以使用类
可以使用向量
不可以使用容器
答案是:答案 D
类中的protected成员在何处访问?
只类自身成员函数中
只子类成员函数中
类和子类的成员函数中
通过对象类外访问
答案是:答案 C
在编译指令中,宏定义使用哪个指令()
#if
#include
#define
#error
答案是:答案 C
决定C++语言中函数的返回值类型的是( )
return语句中的表达式类型
调用该函数时系统随机产生的类型
调用该函数时的主调用函数类型
在定义该函数时所指定的数据类型
答案是:答案 D
析构函数的返回值类型为
void
bool
int
无类型
答案是:答案 D
C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()
增加了一些新的运算符
允许函数重载,并允许设置缺省参数
规定函数说明符必须用原型
引进了类和对象的概念
答案是:答案 D
下列关于静态数据成员的描述中正确的是()
静态数据成员是类的所有对象所共有的
静态数据成员要在构造函数内初始化
类的每个对象有自己的静态数据成员
静态数据成员不能通过类的对象调用
答案是:答案 D
下列程序的输出结果是()
#include
void main()
{int n[][3]={10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<",
答案是:答案B
当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()
都是虚函数
只有被重新说明时才是虚函数
只有被重新说明为virtual时才是虚函数
都不是虚函数
答案是:答案 A
在保护继承的情况下,基类成员在派生类中的访问权限()
都降一级使用
保持不变
受保护
不受保护
答案是:答案A
关于对象概念的描述中,说法错误的是()
对象就是C语言中的结构变量
对象代表着正在创建的系统中的一个实体
对象是类的一个变量
对象之间的信息传递是通过消息进行的
答案是:答案 A
在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()
私有成员
公有成员
保护成员
保护成员或私有成员
答案是:答案 A
在类中说明的成员可以使用关键字的是()
public
extern
cpu
register
答案是:答案 A
在类中说明的成员可以使用关键字的是()
public
extern
cpu
register
答案是:答案 A
设int x=100;int r=x;若cout <<&x;显示0212FF7A,则cout <<&r;输出值为( )
100
02l2FF7A
0212FF7B
未知
答案是:正确答案 D
目前为:
1/1
页
首页 上页 下页 尾页