(28)已知類A中有公用數(shù)據(jù)成員B*b;其中B為類名。則下列語句錯誤的是
A)A():d(new B)()
B)A(const A&oo):d(new B){*d=*oo.d:}
C)~A(d){}
D)~A(){delete d;}
參考答案:(28)c【解析】首先考生要能判斷出四個選項是構(gòu)造函數(shù)和析構(gòu)函數(shù),其中d是類A的一個需要初 始化的數(shù)據(jù)成員,且是一個指針。在初始化時.必須指明類B的某對象的地址,所以,new B可以完 成這個功能。而析構(gòu)函數(shù)不能帶參數(shù),這是常識性的知識,因此正確答案為c。
A)A():d(new B)()
B)A(const A&oo):d(new B){*d=*oo.d:}
C)~A(d){}
D)~A(){delete d;}
參考答案:(28)c【解析】首先考生要能判斷出四個選項是構(gòu)造函數(shù)和析構(gòu)函數(shù),其中d是類A的一個需要初 始化的數(shù)據(jù)成員,且是一個指針。在初始化時.必須指明類B的某對象的地址,所以,new B可以完 成這個功能。而析構(gòu)函數(shù)不能帶參數(shù),這是常識性的知識,因此正確答案為c。

