下面這個程序的結(jié)果是 #include class A { private: int a; public: void seta( ) ;
下面這個程序的結(jié)果是
#include<iostream.h>
class A
{
private:
int a;
public:
void seta( ) ;int geta( ) ;};
void A: :seta( )
{ a=1;}
int A: :geta( )
{ retum a;}
class B
{ private:
int a;
public:
void seta( ) ;int geta( ) ;};
void B: :seta( )
{a=2;}
int B: :geta( )
{return a;}
class C: public A,public B
{ private:
int b;
public:
void display( ) ;};
void C: :display( )
{ int b=geta( ) ;
cout < < b;}
void main( )
{ C c;
c. seta( ) ;
c. display( ) ;}
A.1
B.2
C.隨機輸出1或2
D.程序有錯
正確答案:D解析:在類A中有g(shù)eta( ) 函數(shù),在類B中也有g(shù)eta( ) 函數(shù),類C繼承了類A和類B,這樣就產(chǎn)生了二義性,所以程序會出錯。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。