** 多态与虚函数 编程题#3

来源:互联网 发布:storm1.0java源码 编辑:程序博客网 时间:2024/06/14 04:29

编程题 #3
来源: POJ (http://cxsjsxmooc.openjudge.cn/test/6w6)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
下面的程序输出结果是:
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

#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;}
阅读全文
0 0
原创粉丝点击