看到有老師似乎做錯了,糾正一下,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