OJ:又一道考察多态的题目
程序员文章站
2022-04-02 23:40:24
Description 下面的程序输出结果是: A::Fun A::Do A::Fun C::Do 请填空: 程序代码如下 ~~~~ include using namespace std; class A { private: int nVal; public: void Fun() { cout ......
Description
下面的程序输出结果是:
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(A* p) { p->Fun(); p->Do(); } int main() { Call( new A() ); Call( new C() ); return 0; }