有如下程序:#include<iostrealn>using namespace stdclass A{public:virtual void f(
有如下程序:
#include<iostrealn>
using namespace std
class A{
public:
virtual void f(){cout<<1;}
void g(){cout<<2;}
};
class B:public A{
public:
virtual void f(){cout<<3;}
void g(){cout<<4;)
};
void show(A&A){a.f();a.g();}
int main(){
B b;
show(B);
return 0;
}
運行時的輸出結(jié)果是
A.12
B.34
C.14
D.32
正確答案:D解析:函數(shù)f( )是虛函數(shù),函數(shù)g( )不是虛函數(shù),因此當(dāng)指向派生類的指針調(diào)用基類的對象時,會調(diào)用派生類的虛函數(shù)f( ),但還是會調(diào)用基類的成員函數(shù)g( ),因此會輸出32。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。