纠正“C++测试题的一些问题”的问题

看到有老师似乎做错了,纠正一下,C++是太烦人了。

一、

下面对静态数据成员的描述中,正确的是

A : 静态数据成员可以在类体内进行初始化
B : 静态数据成员不可以被类的对象调用
C : 静态数据成员不能受private控制符的作用
D : 静态数据成员可以直接用类名调用

解答:

---------------------------------------

A : 静态数据成员可以在类体内进行初始化
答:错。
我记得是:只有静态、常量的整数(及兼容)类型的数据成员,可以在类体内初始化,比如:
class Coo
{
public:
    static const int zero = 0; //OK
    static const double dzero = 0.0; //部分编译器可支持,但我记得
               //C++标准上是说不行的,或许我记错了。

  static int iii = 1; //肯定编译不过:非常量静态数据成员不可也!
};
-------------------------------------------
B : 静态数据成员不可以被类的对象调用
答: 错。
完全可以透过一个对象来调用静态数据成员。
以前面为例,可有:
Coo o;
cout << o.zero << endl;
-------------------------------------------
C : 静态数据成员不能受private控制符的作用
错!
-------------------------------------------
D : 静态数据成员可以直接用类名调用
对。唯一正确答案。

----------------------------------------

二、“ 基础题:一个派生类具有多个基类时,该派生类的实例在初始化时按()调用基类的构造函数

A : 声明这些基类的次序
B : 在派生类构造函数初始化列表出现的次序

答: A正确。B错误。

即从左到右。如果出现初始化次序和父类声明次序不对,编译器坚持生成按A所说的次序调用,并可能给出警告。

三、

STL中的哪种结构是连续形式的存储()

A : map
B : set
C : list
D : vector

答:D。标准规定vector中存储的元素数据,必须保证内存连续。

-------------------------------------

如果您想与我交流,请点击如下链接成为我的好友:
http://student.csdn.net/invite.php?u=112600&c=f635b3cf130f350c 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南郁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值