zoukankan      html  css  js  c++  java
  • 未完待续


    1
    #include <iostream> 2 #include<typeinfo> 3 #include<vector> 4 5 using namespace std; 6 7 class Base{ 8 public: 9 virtual void fun(){cout << "Base::fun ";} 10 }; 11 class Derived : public Base{ 12 public: 13 void fun(int i){cout << "Derived the i = " << i << endl;} 14 }; 15 class Sunzi : public Derived{ 16 public: 17 void fun(){cout << "in Sunzi ";} 18 }; 19 20 int main() 21 { 22 Derived de; 23 de.fun(1); 24 //de.fun(); //error 25 Sunzi sun; 26 sun.fun(); 27 Base *ba = &sun; 28 ba->fun(); 29 return 0; 30 }

     1 #include <iostream>
     2 #include<typeinfo>
     3 #include<vector>
     4 
     5 using namespace std;
     6 
     7 class Base{
     8 public:
     9     virtual void fun(){cout << "Base::fun
    ";}
    10 };
    11 class Derived : public Base{
    12 public:
    13     void fun(){cout << "in Derived
    ";}
    14     void fun(int i){cout << "Derived the i = " << i << endl;}
    15 };
    16 class Sunzi : public Derived{
    17 public:
    18     void fun(){cout << "in Sunzi
    ";}
    19     void fun(int i){cout << "Sunzi the i = " << i << endl;}
    20 };
    21 
    22 int main()
    23 {
    24     Derived *de = new Derived();
    25     Derived de2;
    26     Base *ba;
    27     Sunzi sun;
    28 //
    29     de->fun(1);
    30     de->fun(); //error
    31 
    32     ba = &de2;
    33     ba->fun();
    34 
    35     sun.fun();
    36 
    37     ba = &sun;
    38     ba->fun();
    39 
    40     de = &sun;
    41     de->fun();
    42     de->fun(1);
    43     return 0;
    44 }

    #include <iostream>
    #include<typeinfo>
    #include<vector>
    
    using namespace std;
    
    class Base{
    public:
        virtual void fun(){cout << "Base::fun
    ";}
    };
    class Derived : public Base{
    public:
        using Base::fun;    //using solve redefine
        void fun(int i){cout << "Derived the i = " << i << endl;}
    };
    class Sunzi : public Derived{
    public:
        void fun(){cout << "in Sunzi
    ";}
    };
    
    int main()
    {
        Derived de;
        de.fun(1);
        de.fun(); //ok
        Sunzi sun;
        sun.fun();
        Base *ba = &sun;
        ba->fun();
        return 0;
    }

    #include <iostream>
    #include<typeinfo>
    #include<vector>
    
    using namespace std;
    
    class Base{
    public:
        virtual void fun(){cout << "Base::fun
    ";}
        virtual void fun(int i){cout << "Base:: i = " << i << endl;}
    };
    class Derived : public Base{
    public:
        void fun(){cout << "in Derived
    ";}
        void fun(int i){cout << "Derived the i = " << i << endl;}
    };
    
    int main()
    {
        Base *ba;
        Derived de;
        de.fun(1);
        de.fun(); //ok
    
        ba = &de;
        ba->fun();
        ba->fun(1);
    
        return 0;
    }

  • 相关阅读:
    canvas,画个纸飞机
    时钟
    去除滚动条,内容仍然可以滚动
    鼠标指针移入移出改变图片透明度
    Mysql数据库优化总结
    一次利用nginx漏洞的木马事件
    一个批量删除大表数据的shell小脚本
    MegaCli监控raid卡磁盘信息以及相关的shell脚本
    MYSQL delete语句不支持别名?
    一次Mysql数据库服务器磁盘空间满引发的写入和同步问题
  • 原文地址:https://www.cnblogs.com/CreatorKou/p/9056124.html
Copyright © 2011-2022 走看看