6w6:第六週程式填空題3
阿新 • • 發佈:2019-01-07
描述
下面的程式輸出結果是:
A::Fun
A::Do
A::Fun
C::Do
請填空:
#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::Fun
A::Do
A::Fun
C::Do樣例輸入
無
樣例輸出
A::Fun A::Do A::Fun C::Do
Code:
#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( // 在此處補充你的程式碼 A* p ) { p->Fun(); p->Do(); } int main() { Call( new A() ); Call( new C() ); return 0; }
Analysis:
和之前那個6w4的分析方法差不多,只不過這次是變成了指標罷了。