首頁| 新聞| 娛樂| 游戲| 科普| 文學| 編程| 系統| 數據庫| 建站| 學院| 產品| 網管| 維修| 辦公| 熱點
來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)
注意: 總時間限制: 1000ms 內存限制: 65536kB
下面的程序輸出結果是:
A::Fun
A::Do
C::Do
請填空:
123456789101112131415161718192021222324252627282930313233#include <iostream>using namespace std;class A { PRivate: int nVal; public: void Fun() { cout << "A::Fun" << endl; } virtual void Do() { cout << "A::Do" << endl; }};class B:public A { public: virtual void Do() { cout << "B::Do" << endl; }};class C:public B { public: void Do( ) { cout << "C::Do" << endl; } void Fun() { cout << "C::Fun" << endl; }};void Call(// 在此處補充你的代碼 ) { p->Fun(); p->Do();}int main() { Call( new A() ); Call( new C() ); return 0;}輸入無輸出A::FunA::DoA::FunC::Do樣例輸入1無樣例輸出1234A::FunA::DoA::FunC::Do代碼:#include <iostream>using namespace std;class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } //1 3 virtual void Do() { cout << "A::Do" << endl; } //2};class B:public A { public: virtual void Do() { cout << "B::Do" << endl; }};class C:public B { public: void Do( ) //派生類中和基類中虛函數同名同參數表的函數,不加virtual也自動成為虛函數 { cout << "C::Do" << endl; } //4 void Fun() { cout << "C::Fun" << endl; }};void Call(// 在此處補充你的代碼A* p// ) { p->Fun(); p->Do();}int main() { Call( new A() ); //A* p = new A(); p->Fun()調用的自然是A的Fun()。p->Do()調用的自然是A的Do()。 Call( new C() ); //A* p = new C(); p->Fun(),因為Fun不是虛函數,不會引發多態,調用的依然是A的Fun()。 p->Do(),由于Do是虛函數,引發多態,調用C的Do()。 return 0;}
無
1無樣例輸出1234A::FunA::DoA::FunC::Do代碼:#include <iostream>using namespace std;class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } //1 3 virtual void Do() { cout << "A::Do" << endl; } //2};class B:public A { public: virtual void Do() { cout << "B::Do" << endl; }};class C:public B { public: void Do( ) //派生類中和基類中虛函數同名同參數表的函數,不加virtual也自動成為虛函數 { cout << "C::Do" << endl; } //4 void Fun() { cout << "C::Fun" << endl; }};void Call(// 在此處補充你的代碼A* p// ) { p->Fun(); p->Do();}int main() { Call( new A() ); //A* p = new A(); p->Fun()調用的自然是A的Fun()。p->Do()調用的自然是A的Do()。 Call( new C() ); //A* p = new C(); p->Fun(),因為Fun不是虛函數,不會引發多態,調用的依然是A的Fun()。 p->Do(),由于Do是虛函數,引發多態,調用C的Do()。 return 0;}
1234A::FunA::DoA::FunC::Do代碼:#include <iostream>using namespace std;class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } //1 3 virtual void Do() { cout << "A::Do" << endl; } //2};class B:public A { public: virtual void Do() { cout << "B::Do" << endl; }};class C:public B { public: void Do( ) //派生類中和基類中虛函數同名同參數表的函數,不加virtual也自動成為虛函數 { cout << "C::Do" << endl; } //4 void Fun() { cout << "C::Fun" << endl; }};void Call(// 在此處補充你的代碼A* p// ) { p->Fun(); p->Do();}int main() { Call( new A() ); //A* p = new A(); p->Fun()調用的自然是A的Fun()。p->Do()調用的自然是A的Do()。 Call( new C() ); //A* p = new C(); p->Fun(),因為Fun不是虛函數,不會引發多態,調用的依然是A的Fun()。 p->Do(),由于Do是虛函數,引發多態,調用C的Do()。 return 0;}
代碼:
#include <iostream>using namespace std;class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } //1 3 virtual void Do() { cout << "A::Do" << endl; } //2};class B:public A { public: virtual void Do() { cout << "B::Do" << endl; }};class C:public B { public: void Do( ) //派生類中和基類中虛函數同名同參數表的函數,不加virtual也自動成為虛函數 { cout << "C::Do" << endl; } //4 void Fun() { cout << "C::Fun" << endl; }};void Call(// 在此處補充你的代碼A* p// ) { p->Fun(); p->Do();}int main() { Call( new A() ); //A* p = new A(); p->Fun()調用的自然是A的Fun()。p->Do()調用的自然是A的Do()。 Call( new C() ); //A* p = new C(); p->Fun(),因為Fun不是虛函數,不會引發多態,調用的依然是A的Fun()。 p->Do(),由于Do是虛函數,引發多態,調用C的Do()。 return 0;}
索泰發布一款GTX 1070 Mini迷
AMD新旗艦顯卡輕松干翻NVIDIA
索泰發布一款GTX 1070 Mini迷你版本:小機
芭蕾舞蹈表演,真實美到極致
下午茶時間,悠然自得的休憩
充斥這繁華奢靡氣息的城市迪拜風景圖片
從山間到田野再到大海美麗的自然風景圖片
肉食主義者的最愛美食烤肉圖片
夏日甜心草莓美食圖片
人逢知己千杯少,喝酒搞笑圖集
搞笑試卷,學生惡搞答題
新聞熱點
疑難解答
圖片精選
網友關注