C++——类的多继承

与世无争的帅哥 提交于 2019-11-28 08:24:53

多继承概念

  •   一个类有多个直接基类的继承关系称为多继承
  •   多继承声明语法

class  派生类名 : 访问控制  基类名1访问控制  基类名2 ,  … , 访问控制  基类名n

    {

         数据成员和成员函数声明

    };

  •   类 C 可以根据访问控制同时继承类 A 和类 B 的成员,并添加

     自己的成员

多继承的派生类构造和访问

  • 多个基类的派生类构造函数可以用初始式调用基类构造函数初始化数据成员
  • 执行顺序与单继承构造函数情况类似。多个直接基类构造函数执行顺序取决于定义派生类时指定的各个继承基类的顺序。
  •  一个派生类对象拥有多个直接或间接基类的成员。不同名成员访问不会出现二义性。如果不同的基类有同名成员,派生类对象访问时应该加以识别
#include <iostream>
using namespace std;

class Base1
{
public:
    Base1(int b1)
    {
        this->b1 = b1;
    }
    void printB1()
    {
        cout<<"b1:"<<b1<<endl; 
    }
protected:
private:
    int  b1;
};

class Base2
{
public:
    Base2(int b2)
    {
        this->b2 = b2;
    }
    void printB2()
    {
        cout<<"b2:"<<b2<<endl; 
    }
protected:
private:
    int  b2;
};

class B : public Base1, public Base2
{
public:
    B(int b1, int b2, int c): Base1(b1), Base2(b2)
    {
        this->c = c;
    }
    void printC()
    {
        cout<<"c:"<<c<<endl; 
    }
protected:
private:
    int c;
};

void main()
{
    B b1(1, 2, 3);
    b1.printC();
    b1.printB1();
    b1.printB2();
    cout<<"hello..."<<endl;
    system("pause");
    return ;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!