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;
    }
  • 相关阅读:
    索引访问方法及索引优化
    AS3常用的几个顶级类
    AS3随鼠标移动的蜘蛛
    as去掉字符串中的重复字符
    AS单例模式
    移动的云朵
    (转)探索C++的秘密之详解extern "C"
    (转)YUV / RGB 格式及快速转换算法
    (转)如何解決TRDBD5M CMOS在DE2 delay的問題?
    (转)存储器类型
  • 原文地址:https://www.cnblogs.com/dagon/p/4765505.html
Copyright © 2011-2022 走看看