C++的多继承与虚继承

1.多继承的基本使用
2.当一个派生类,从多个基类派生,而这些基类又有一个共同的基类,则对后面这个原始基类中声明的属性进行访问的时候,会产生二义性.因为这个类会在多继承过程中,多次构造.所以不知道访问的是哪一个属性.
3.解决这种二义性,通过虚拟继承,virtual 关键字.

//
//  main.cpp
//  C++多继承
//
//  Created by 扆佳梁 on 16/8/1.
//  Copyright © 2016年 Eric. All rights reserved.
//

#include 
using namespace std;


class Base1
{
public:
    Base1(int x){
        value = x;
    }
    int getData()const{
        
        return value;
    }
protected:
    int value;
};

class Base2{
public:
    Base2(char c){
        letter = c;
    }
    char getData()const{
        return letter;
    }
    char letter;
};

class Derived:public Base1,public Base2{
    
private:
    double real;
    friend ostream &operator<<(ostream &,const Derived der);
public:
    Derived(int ,char ,double);
    double getReal()const;
};

class B{
public:
    B(){
        cout<<"构造方法---"<

你可能感兴趣的:(C++的多继承与虚继承)