资源描述
判断char型变量cl是否为小写字母的正确表达式是________。(2.0分)
A、
(cl>='a')&&(cl<='z')
B、
('a'>=cl)||('z'<=cl)
C、
a'<=cl<='z'
D、
(cl>=a)&&(cl<=z)
假定MyClass为一个类,则执行"MyClass a(2),b[5],*c[4]"后,执行构造函数的次数为________。(2.0分)
A、
6
B、
11
C、
10
D、
5
char *s1="hello",*s2;s2=s1;则________。(2.0分)
A、
s1不能再指向其它单元
B、
cout<<s1;与cout<<s2;结果相同
C、
不能访问"hello"
D、
s2指向不确定的内存单元
已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,正确的是________。(2.0分)
A、
*A1.p=5;
B、
A1.*p=5;
C、
A1->p=5;
D、
A1.p=5;
C++异常处理机制中没有________。(2.0分)
A、
finally
B、
try
C、
throw
D、
catch
所谓多态性是指________。(2.0分)
A、
一个对象调用不同名称的对象
B、
一个对象调用不同名称的函数
C、
不同的对象调用相同名称的函数
D、
不同的对象调用不同名称的函数
关于new运算符的下列描述中,________是错的。(2.0分)
A、
使用它创建对象数组时必须指定初始值
B、
它可以用来动态创建对象和对象数组
C、
使用它创建对象时要调用构造函数
D、
使用它创建的对象和对象数组可以使用运算符delete删除
以下正确的说法是:在C++语言中进行值传递时________。(2.0分)
A、
形参是虚拟的,不占用存储单元
B、
实参和与其对应的形参各占用独立的存储单元
C、
只有当实参和与其对应的形参同名时才共占用存储单元
D、
实参和与其对应的形参共占用一个存储单元
C++类体系中,能被派生类继承的是________。(2.0分)
A、
友元函数
B、
析构函数
C、
构造函数
D、
虚函数
对于重载的运算符>>,它是一个________。(2.0分)
A、
用于输出的成员函数
B、
用于输入的友元函数
C、
用于输入的成员函数
D、
用于输出的友元函数
_______是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。(2.0分)
A、
静态成员函数
B、
纯虚函数
C、
虚析构函数
D、
虚构造函数
定义重载函数的下列要求中,________是错误的。(2.0分)
A、
要求函数的返回值不同
B、
要求参数个数相同时,参数类型不同
C、
要求参数中至少有一个类型不同
D、
要求参数的个数不同
可以通过友元函数重载的运算符为________。(2.0分)
A、
>>
B、
()
C、
=
D、
[]
在下列运算符中,不能重载的是________。(2.0分)
A、
delete
B、
sizeof
C、
!
D、
new
下列运算符中,________运算符在C++语言中不能重载。(2.0分)
A、
new
B、
[]
C、
+=
D、
::
可以通过友元函数重载的运算符为________。(2.0分)
A、
()
B、
[]
C、
=
D、
>>
不能被重载的运算符 1、. (成员访问运算符) 2、.* (成员指针访问运算符) 3、:: (域运算符) 4、sizeof(长度运算符) 5、?: (条件运算符)
下列运算符中,只能作为类成员函数重载的是________。(2.0分)
A、
=
B、
<<
C、
++
D、
+
类MyA的拷贝初始化构造函数是________。(2.0分)
A、
MyA(MyA)
B、
MyA(MyA&)
C、
MyA(MyA*)
D、
MyA();
用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:________(2.0分)
A、
不确定
B、
0
C、
正数
D、
负数
在C++语言中,引用数组元素时,其数组下标的数据类型允许是________。(2.0分)
A、
任何类型的表达式
B、
整型表达式
C、
整型常量或整型表达式
D、
整型常量
关于类模板描述不正确的是________。(2.0分)
A、
根据它可以定义多个对象
B、
它的存在不代表一个具体的、实际的类,而是代表一类的类
C、
它可以使类中的某些数据取任意类型
D、
根据它可以产生一系列类
下列说法不正确的是________。(2.0分)
A、
不同函数中,可以使用相同名字的变量
B、
在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效
C、
形式参数是局部变量
D、
主函数main中定义的变量在整个文件或程序中有效
建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为________的构造函数。(2.0分)
A、
基类、自己所属类、对象成员所属类
B、
对象成员所属类、基类、自己所属类
C、
自己所属类、对象成员所属类、基类
D、
基类、对象成员所属类、自己所属类
关于运算符重载,下列表述中正确的是________。(2.0分)
A、
可以通过运算符重载来创建C++中原来没有的运算符
B、
在类型转换函数的定义中不需要声明返回类型
C、
运算符函数的返回类型不能声明为基本数据类型
D、
C++已有的任何运算符都可以重载
下列关于运算符重载不正确的是________。(2.0分)
A、
运算符重载不能改变运算符的优先级
B、
运算符重载能改变对预定义类型数据的操作方式
C、
运算符重载不能改变运算符的结合性
D、
运算符重载不能改变运算符的操作数个数
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是________。(2.0分)
A、
operator+有两个参数,operator*有一个参数
B、
operator+有两个参数,operator*有两个参数
C、
operator+有一个参数,operator*有两个参数
D、
operator+有一个参数,operator*有一个参数
+和*都是二元运算符,当作为成员函数重载时,参数表中只有一个参数,对应于第二个参数,而第一个操作数就是对象本身,仅以this指针的形式隐藏在参数表中.当作为非成员函数重载时有两个参数。
以下叙述中正确的是________。(2.0分)
A、
静态(static)类别变量的生存期贯穿于整个程序的运行期间
B、
函数的形参都属于全局变量
C、
未在定义语句中赋初值的auto变量和static变量的初值都是随机值
D、
全局变量的作用域一定比局部变量的作用域范围大
在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是________。(2.0分)
A、
派生类的对象的地址可以赋给指向基类的指针
B、
派生类的对象可以初始化基类的引用
C、
派生类的对象可以直接访问基类中的成员
D、
派生类的对象可以赋给基类的对象
不能作为重载函数的调用的依据是________。(2.0分)
A、
函数名称
B、
参数类型
C、
参数个数
D、
函数类型
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是________。(2.0分)
A、
函数调用可以作为一个函数的形参
B、
函数调用可以出现在表达式中
C、
函数调用可以作为独立的语句存在
D、
函数调用可以作为一个函数的实参
在有参函数调用中,是将主调函数的实参值传给被调函数的形参。按函数在程序中出现的位置来分,有以下三种函数调用形式: ①函数调用作为一条语句。例如:fun();这时不要求函数带回值,只要求函数完成一定的操作。故选项A)正确。 ②函数出现在表达式中,这种表达式称为函数表达式。这时要求函数带回一个确定的值以参加表达式的运算。例如:c=5*max(a,b);函数max是表达式的一部分,将其值乘以5后赋给 c。故选项C)正确。 ③函数调用作为一个函数的实参,例如:m=max(a,max(b,c));其中max(b,c)是一次函数调用,它的值作为max另一次调用的实参。故选项B)正确。 函数调用不可作为一个函数的形参,因为函数调用参数的数据传递是单向传递,即实参传给形参,不能由形参传给实参。故选项A)错误。
如果a=1,b=2,c=3,d=4,执行表达式 a>b?a:c<d?c:d后的结果是________。(2.0分)
A、
4
B、
3
C、
2
D、
1
若i为整型变量,则以下循环执行次数是________。 for(i=2;i==0;) cout<<i--;(2.0分)
A、
2次
B、
无限次
C、
1次
D、
0次
设"char **s;",以下正确的表达式是________。(2.0分)
A、
*s='s';
B、
**s="software";
C、
s="software";
D、
*s="software";
下列程序段的输出结果为________。 #include void main(){ char s[]="123",*p; p=s; cout<<*p++<<endl;}(2.0分)
A、
1
B、
123
C、
3
D、
321
如果有如下语句 char str[20]; cin >> str; cout << str; 执行时输入的是“this is a test line!”,则输出的内容是________。(2.0分)
A、
this
B、
this is a test line!
C、
this is a test line
D、
this is a test
cin流遇空白符号结束,因而只会读入第一个单词this,输出this
关于析构函数的特征,正确的是________。(2.0分)
A、
析构函数和构造函数都可重载
B、
析构函数必须将指针类型的数据成员的值置未NULL
C、
析构函数不能有参数
D、
析构函数的返回值必须为void
析构函数没有数据类型,也没有参数,没有返回值,一个类只能有一个析构函数。
下列关于虚函数的说明中,正确的是________。(2.0分)
A、
抽象类中的成员函数都是虚函数
B、
虚函数不得是静态成员函数
C、
只能通过指针或引用调用虚函数
D、
从虚基类继承的函数都是虚函数
下列关于成员函数的描述中,正确的是________。(2.0分)
A、
成员函数可以有默认参数
B、
成员函数一定是内联函数
C、
成员函数没有返回值
D、
成员函数可以通过类名直接调用
函数的形参是________。(2.0分)
A、
外部变量
B、
局部变量
C、
全局变量
D、
静态变量
在那种情况下不需要使用初始化列表________。(2.0分)
A、
类数据成员
B、
初始化常量数据成员
C、
普通的数据成员
D、
调用基类的构造函数
在C++语言中,char型数据在内存中的存储形式是________。(2.0分)
A、
反码
B、
补码
C、
原码
D、
ASCII码
________不是构造函数的特征。(2.0分)
A、
构造函数可以重载
B、
构造函数必须指定类型说明
C、
构造函数可以设置缺省参数
D、
构造函数的函数名与类名相同
关于纯虚函数和抽象类的描述,错误的是________(2.0分)
A、
抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
B、
纯虚函数是一种特殊的函数,它没有具体实现代码
C、
一个基类中声明有纯虚函数,该基类的派生类一定不再是抽象类
D、
抽象类是指具有纯虚函数的类
如果在派生类中没有对纯虚函数进行了定义,那这个派生类也是抽象类.不能用来定义对象
下列对派生类的描述中,________是错误的。(2.0分)
A、
派生类中继承的基类成员的访问权限到派生类保持不变
B、
一个派生类可以作为另一个派生类的基类
C、
派生类至少有一个基类
D、
派生类的成员除了它自己的成员外,还包含了它的基类成员
关于关键字class和typename,下列表述正确的是________。(2.0分)
A、
程序中所有的typename都可以替换为class
B、
程序中所有的class都可以替换为typename
C、
A)和B)都可以
D、
A)和B)都不可以
已知:类A中一个成员函数说明如下: void Set(A& a); 其中,A&的含义是________。(2.0分)
A、
将a的地址值赋给变量Set
B、
a是类A对象的引用,用来作函数Set()的参数
C、
变量A与a按位与作为函数Set()的参数
D、
指向类A的指针为a
在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是________。(2.0分)
A、
派生类的对象的地址可以赋给指向基类的指针
B、
派生类的对象可以直接访问基类中的成员
C、
派生类的对象可以初始化基类的引用
D、
派生类的对象可以赋给基类的对象
关于this指针使用说法正确的是________。(2.0分)
A、
保证基类私有成员在子类可以被访问
B、
保证基类共有成员在子类可以被访问
C、
保证每个对象都拥有自己的数据成员,但共享处理这些数据的代码
D、
保证基类保护成员在子类可以被访问
下列函数中,不能重载运算符的函数是________。(2.0分)
A、
友元函数
B、
成员函数
C、
普通函数
D、
构造函数
下列关于运算符重载的叙述中,正确的是________。(2.0分)
A、
重载一个二元运算符时,必须声明两个形参
B、
有的运算符只能作为成员函数重载
C、
通过运算符重载,可以定义新的运算符
D、
若重载运算符+,则相应的运算符函数名是+
当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中________。(2.0分)
A、
都不是虚函数
B、
只有被重新说明时才是虚函数
C、
只有被重新说明为virtual时才是虚函数
D、
都是虚函数
拷贝构造函数的参数是________。(2.0分)
A、
某个对象的指针名
B、
某个对象名
C、
某个对象的成员名
D、
某个对象的引用名
下列不是描述类的成员函数的是________。(2.0分)
A、
拷贝构造函数
B、
析构函数
C、
友元函数
D、
构造函数
拷贝构造函数的参数是________。(2.0分)
A、
某个对象的指针名
B、
某个对象名
C、
某个对象的成员名
D、
某个对象的引用名
设 int x=1, y=1; 表达式(!x||y--)的值是____1____。
执行语句 int i = 10; cout << i++ + i++; 输出结果是________。(2.0分)
A、
不确定
B、
22
C、
20
D、
21
拷贝构造函数的参数通常是________。(2.0分)
A、
无特殊要求
B、
对象
C、
指向对象的指针
D、
自身类对象的常引用
以下叙述中不正确的是________。(2.0分)
A、
以下是正确的宏定义 #define IBM_PC
A选项,这样的宏定义运行时未报错,在使用时,就将其看做什么也没有,例如, int x=5; printf("number is %d",BM_DEF x);
B、
预处理命令行都必须以#号开始
C、
C++程序在执行过程中对预处理命令行进行处理
D、
在程序中凡是以#号开始的语句行都是预处理命令行
关于在调用模板函数时模板实参的使用,下列表述中正确的是________。(2.0分)
A、
对于常规参数所对应的模板实参,任何情况下都不能省略
B、
对于虚拟类型参数所对应的模板实参,若能够省略则必须省略
C、
对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略
D、
对于虚拟类型参数所对应的模板实参,如果它是参数表中的最后的若干个参数,则都可以省略
在调用一个模板函数时,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板实参表(用“<>”括起来的参数表)或从模板函数实参表(用“()”括起来的参数表)。如果从后者获得的信息已经能够判定其中部分或全部虚拟类型参数所对应的实际参数,而且它们又正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。如果模板实参表中的实参都被省略了,则空表“<>”也可以不要,因此选项D错误。反之,对于某个模板实参,如果从模板函数的实参表中无法获得同样的信息,就不能省略;或者虽然能够获得同样的信息,但在它后面还有其他不能省略的实参,则其自身还是不能省略。
在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值________。(2.0分)
A、
部分相同
B、
不同
C、
相同
D、
相容
一个C++程序的执行是从________.(2.0分)
A、
本程序文件的第一个函数开始,到本程序main函数结束
B、
本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、
本程序的main函数开始,到本程序文件的最后一个函数结束
D、
本程序的main函数开始,到main函数结束
以下对C++语言函数的描述中,正确的是________。(2.0分)
A、
C++程序必须由一个或一个以上的函数组成
B、
函数既可以嵌套定义又可以递归调用
C、
函数必须有返回值,否则不能使用函数
D、
C++程序中有调用关系的所有函数必须放在同一个程序文件中
下列关于友元函数描述,正确的是________。(2.0分)
A、
在类的外部定义友元函数时必须加上friend关键字
B、
一个友元函数不能同时定义为两个类的友元函数
C、
友元函数是独立于当前类的外部函数
D、
友元函数必须在类的外部进行定义
友元函数________。(2.0分)
A、
不能修改数据成员的值
B、
只能用对象名来调用
C、
没有this指针
D、
可以用类名或对象名来调用
已知类A是类B的友元, 类B是类C的友元,则________。(2.0分)
A、
类C的成员可以访问类B对象的任意成员
B、
类A的成员函数可以访问类B对象的任意成员
C、
类C一定是类A的友元
D、
类A一定是类C的友元
关于类模板,下列描述错误的是________。(2.0分)
A、
函数的类模板参数须通过构造函数实例化
B、
根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
C、
类模板从普通类派生,也可以从类模板派生
D、
一个普通基类不能派生类模板
在重载一个运算符时,如果其参数表中有一个参数,则该运算符是________。(2.0分)
A、
选项B和C都有可能
B、
二元成员运算符
C、
一元友元运算符
D、
一元成员运算符
重载一目运算符没有参数,重载二目运算符要有一个参数
关于纯虚函数和抽象类的描述,错误的是________(2.0分)
A、
抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
B、
一个基类中声明有纯虚函数,该基类的派生类一定不再是抽象类
C、
纯虚函数是一种特殊的函数,它没有具体实现代码
D、
抽象类是指具有纯虚函数的类
已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;下列关于这个函数的叙述中,错误的是________。(2.0分)
A、
这是运算符-的重载运算符函数
B、
这个函数所重载的运算符是一个一元运算符
C、
这是一个成员函数
D、
这个函数不改变数据成员的值
下列定义数组的语句中正确的是________。(2.0分)
A、
#define size 10 char str1[size],str2[size+2];
B、
char str[];
C、
int num['10'];
D、
int n=5; int a[n][n+2];
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是________。(2.0分)
A、
数据块
B、
类
C、
函数体
D、
对象
下列函数模板的定义中,合法的是________。(2.0分)
A、
template T abs(T x){return x<o?-x:x;}
B、
template Tabs(T x){return x<0?-x:x;}
C、
template classT abs(T x){return x<0?-x:x;}
D、
templateT abs(T x){return x<0?-x:x;}
C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是________。(2.0分)
A、
允许函数重载,并允许函数设置缺省参数
B、
规定函数说明符必须用原型
C、
增加了一些新的运算符
D、
引进了类与对象的概念
C++语言中函数调用的方式有________。(2.0分)
A、
函数调用作为语句、函数表达式或函数参数三种
B、
函数调用作为语句一种
C、
函数调用作为语句或函数表达式两种
D、
函数调用作为函数表达式一种
设 int x=1, y=1; 表达式(!x||y--)的值是________。(2.0分)
A、
-1
B、
2
C、
1
D、
0
下面判断是否构成重载函数的条件中,错误的判断条件是________。(2.0分)
A、
函数返回值不同
B、
参数顺序不同
C、
参数类型不同
D、
参数个数不同
以下对C++语言函数的描述中,正确的是________。(2.0分)
A、
C++程序中有调用关系的所有函数必须放在同一个程序文件中
B、
函数必须有返回值,否则不能使用函数
C、
C++程序必须由一个或一个以上的函数组成
D、
函数既可以嵌套定义又可以递归调用
有如下类定义: class XA{ int x; public: XA(int n) {x=n;} }; class XB: public XA{ int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是________。(2.0分)
A、
XB::XB(int a,int b):XA(a),XB(b){ }
B、
XB::XB(int a,int b):XA(a),y(b) { }
C、
XB::XB(int a,int b):x(a),XB(b){ }
D、
XB::XB(int a,int b):x(a),y(b){ }
假设Class Y:public X,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时 ,调用构造函数和析构函数的次序分别为________。(2.0分)
A、
Y,X;Y,X
B、
Y,X;X,Y
C、
X,Y;Y,X
(构造从内到外,析构从外到内)
D、
X,Y;X,Y
解决定义二义性问题的方法有________。(2.0分)
A、
使用成员名限定或赋值兼容原则
B、
使用作用域分辨运算符或虚基类
C、
使用作用域分辨运算符或成员名限定
D、
只能使用作用域分辨运算符
关于多继承二义性的描述,________是错误的。(2.0分)
A、
一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性
B、
派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性
C、
解决二义性最常用的方法是作用域运算符对成员进行限定
D、
派生类和它的基类中出现同名函数时,将可能出现二义性
设置虚函数的主要目的是________。(2.0分)
A、
减少目标代码
B、
提高运行效率
C、
消除二义性
D、
简化程序
有如下函数模板定义: template T func(Tx,Ty){return x*x+y*y;} 在下列对func的调用中不正确的是________。(2.0分)
A、
func<int>(3,5.5)
B、
func(3,5)
C、
func(3,5.5)
D、
func<>3,5)
定义对象数组时必须有不需要参数的构造函数(2.0分)T
若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6.(2.0分)T
char ch1[ ]= "student", ch2[10];ch2=ch1; 是错误的(2.0分)T
数组名是个名字,不可被赋值。
要想实现数组拷贝可以用memcpy
字符串拷贝还可以用strcpy
赋值兼容规则也适用于多继承的组合。(2.0分)T
在建立派生类时,并不是简单地把基类的私有成员直接作为派生类的私有成员,把基类的公用成员直接作为派生类的公用成员。涉及如何确定基类的成员在派生类中的访问属性问题,不仅要考虑对类成员所声明的访问属性,还要考虑派生类所声明的对基类的继承方式.
定义类的非成员函数运算符重载,必须将它声明为友元函数。(2.0分)F
构造函数和析构函数的返回类型为void(2.0分)F
(构造函数的名字与类的名字相同,并且不能指定返回类型)
构造函数实现类的类型转换,不适合将其它类型转换成类类型。F
在说明一个结构变量后,不能整体引用结构体变量,需要逐一引用。T
所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类外的函数对它们的访问都是非法的。(2.0分)F (私有成员还可以被友元函数访问)
基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数。T
子类可以新添自己的数据成员,但成员函数只能从父类继承。F
子类可以新添自己的成员函数,但数据成员只能从父类继承。F
C++中有五种作用域分别为文件作用域、块作用域、函数作用域、函数原型作用域和类作用域。T
基类构造函数的调用顺序是由它们在派生类的构造函数实现中初始化表中出现的顺序决定的。F
常量对象只能调用常量成员函数和静态成员函数,无法调用普通成员函数。T
赋值运算符只能作为成员函数进行重载。T
(因为编译器会提供一个默认的赋值运算符,你如果把自己定义赋值运算符的写成友元的话,函数的参数列表不一样,不会发生重载)
作为虚函数隐含参数的this指针,决定了虚函数调用时执行的代码。T
对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun();F
常对象只能调用常成员函数。T
包含空格的字符数组输入时,常常使用C++的cin.outline()函数实现。F
派生类的虚函数与基类的虚函数需要有不同的形式参数。F
派生类能过通过继承关键字改变对基类的函数成员的访问权限。T
根据数据的组织形式,可以分为ASCII文件和文本文件两种。F(应为ASCII文件和二进制文件)
对于内联函数,c++编译器执行内联扩展,将函数代码直接插入每一处调用处.由此可以减少函数调用的开销。T
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。T
容器(container)是用来存储其他对象的对象,它是用模板技术实现的。T
类的友元函数可以访问该类对象的所有成员。T
类的构造函数可以有默认参数,但类内的普通成员函数不能有默认参数。F
可以显式调用对象的构造函数。F
在运算符重载中,operator是保留关键字,表示运算符函数T
友元函数访问对象中的成员可以不通过对象名。F
友元函数是在类声明中由关键字friend修饰说明的类的成员函数。F
进行宏定义时,宏名必须使用大写字母表示。F
C++语言把文件看作是字符(字节)的序列,即由一个一个字符(字节)的数据按照随机顺序组成。F
静态数据成员必须在类外定义和初始化。T
重载流操作符<<和>> 时,如果第一个参数的类型为ostream 和istream,那么这个重载函数既可以用于标准输入输出流,也可以用于文件流上。 T
纯虚函数与函数体为空的虚函数等价。F
作为虚函数隐含参数的this指针,决定了虚函数调用时执行的代码。T
运算符的重载形式有两种,重载为类的成员函数和重载为类的友元函数。(2.0分)T
在同一个类中,可以定义重载的成员函数 void f(int);和virtual void f(int); F
类内的常量数据成员必须用初始化列表来初始化数据成员。T
多重继承往往产生二义性问题,可用成员名限定法来消除,这对成员变量、成员函数都适用。T
基类成员的访问能力在派生类中维持不变。F
C++语言中只能逐个引用数组元素而不能一次引用整个数组。(2.0分)T
运行时的多态性可通过模板和虚函数实现。F 静态通过重载,动态通过虚函数和基类指针(引用)来实现。
静态成员函数不能访问非静态的类成员(2.0分)T
虚函数可以是static类型的函数。F
设有函数说明 void f(const int&);则在调用该函数时,提供的参数既可以是变量,又可以是常量。F
类内的public的成员函数能被外部访问,不能被类内部函数调用(2.0分)F
抽象类不能用于创建对象。T
抽象类可以用来直接创建对象。F
类内的public成员函数不能访问类里的private数据成员(2.0分)F
抽象类可以用来直接创建对象。(2.0分)F
实参与形参值传递是双向的传递.(2.0分)F
C++提供的顺序类型容器有向量(vector)、链表(list)、双端队列(deque)、集合(set)。F
展开阅读全文