zoukankan      html  css  js  c++  java
  • C++ 多继承

    01_多继承定义.cpp

    #include<iostream>
    using namespace std;
    
    //父类先构造,子类先析构
    struct GrandFather{
        int pound=2000000;
        GrandFather(){
            cout<<"grandfather construction"<<endl;}
        GrandFather(int p):pound(p){}
        ~GrandFather(){
            cout<<"grandfather destrucor"<<endl;}
    
    };
    struct Father: GrandFather{
        int dollor=1000000;
        Father(){
            cout<<"father construction"<<endl;}
        Father(int d):dollor(d){}
        ~Father(){
            cout<<"father destrucor"<<endl;}
    };
    
    struct GanFather {
        int gold=100;
        public:
        GanFather(){
            cout<<"gan father construction"<<endl;}
        GanFather(int g):gold(g){}
        ~GanFather(){
            cout<<"gan father destrucor"<<endl;}
    
    };
    
    struct Son: GanFather,Father{
        Son(){
            cout<<"Son construction"<<endl;}
        ~Son(){
            cout<<"Son destructor"<<endl;}
    };
    
    int main()
    {
        Son s;
    }

    02_多继承的悖论.cpp

    #include<iostream>
    
    using namespace std;
    
    struct Furniture{
        int color;
        int size;
        int weight;
    };
    //虚继承
    struct Soft:
    //  virtual 
        Furniture{
    };
    struct Bed:
    //  virtual 
        Furniture{
    };
    
    struct SoftBed:Soft,Bed{
        SoftBed(){}
        SoftBed(int c,int s, int w)
    //  :color(c),size(s),weight(w)
        {color=c;size=s,weight=w;}
        ~SoftBed(){}
    };
    
    int main()
    {
        SoftBed s(1,100,200);
        cout<<s.weight<<endl;
    }
  • 相关阅读:
    关于运行和调试的困惑
    初识函数
    Php的基本语法
    Apache的安装
    php的初步了解
    线程笔记
    Matlab笔记
    matlab取模与取余
    DialogFragment学习笔记
    MVP学习笔记——参考Google官方demo
  • 原文地址:https://www.cnblogs.com/Sico2Sico/p/5384228.html
Copyright © 2011-2022 走看看