zoukankan      html  css  js  c++  java
  • POJ C++程序设计 编程题#3 编程作业—多态与虚函数

    编程题 #3

    来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

    注意: 总时间限制: 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;
    }
  • 相关阅读:
    dtclog
    求助解决 SQL SERVER 2005 log 事务日志增长太快的问题
    开辟第二战场
    c# 排序 求助
    怎样玩转3D
    爬楼梯问题迭代算法解!
    C++中类的继承方式的区别以及private public protected 范围
    想转c++
    PHP相关笔记
    常用快捷键
  • 原文地址:https://www.cnblogs.com/dagon/p/4765505.html
Copyright © 2011-2022 走看看