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

    有如下的C++代码

    #include <iostream>
    using namespace std;
    class Base
    {
    public:
    Base(
    int i) {cout<<"Base constructor called "<<i<<endl;}
    ~Base(void) {cout<<"Base destructor called"<<endl;}
    };

    class Base1:public Base
    {
    public:
    Base1(
    int i,int j):Base(j) {cout<<"Base1 constructor called "<<i<<endl;}
    ~Base1(void) {cout<<"Base1 destructor called"<<endl;}
    };

    class Base2
    {
    public:
    Base2(
    int i) {cout<<"Base2 constructor called "<<i<<endl;}
    ~Base2(void) {cout<<"Base2 destructor called"<<endl;}
    };

    class Base3
    {
    public:
    Base3(
    int i) {cout<<"Base3 constructor called "<<i<<endl;}
    ~Base3(void) {cout<<"Base3 destructor called"<<endl;}
    };

    class Derived:public Base2,public Base1,public Base3
    {
    Base3 member3; Base1 member1; Base2 member2; Base member;
    public:
    Derived(
    int i,int a,int b,int c,int d,int e,int f,int g)
    :Base1(g,a),member2(e),member1(g,d),Base2(b),member3(f),Base3(c),member(i)
    {
    cout
    <<"Derived constructor called "<<i<<endl;
    }
    ~Derived(void) {cout<<"Derived destructor called"<<endl;}
    };

    int main()
    {
    Derived objD(
    1,2,3,4,5,6,7,8);
    return 0;
    }

    用 $ g++ -Wall -o base1 base1.cpp 进行编译

    运行 $ ./base1 结果为

  • 相关阅读:
    奶酪(NOIP2017 Day2 T1)
    图的遍历(某谷P3916)
    20154331 EXP9web安全基础实践
    20154331 EXP8 web基础
    20154331EXP7 网络欺诈
    20154331 Exp6 信息搜集与漏洞扫描
    Exp5 MSF基础应用
    Exp4 恶意代码分析
    Exp3 免杀原理与实践
    20154331黄芮EXP2 后门原理与实践
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2053792.html
Copyright © 2011-2022 走看看