2020.11.11 第8课 C++io流一、虚继承 菱形继承:继承了相同父类 1.虚继承 2.子类的构造函数写法#include <iostream>using namespace std;class A{public: A(int a) :a(a) {}; int a;};class B :virtual public A{public: B(int a, int b) :b(b), A(a) {} int b;};class C :virtu
摘要由CSDN通过智能技术生成
2020.11.11 第8课 C++io流
一、虚继承
菱形继承:继承了相同父类
1.虚继承
2.子类的构造函数写法
#include<iostream>
using namespace std;
class A
{
public:A(int a):a(a){
};int a;};
class B :virtual public A
{
public:B(int a,int b):b(b),A(a){
}int b;};
class C :virtual public A
{
public:C(int a,int c):c(c),A(a){
}int c;};
class D :public B, protected C
{
public:D(int a,int b,int c,int d):B(a,b),C(a,c),A(234),d(d){
}int d;voidprint(){
cout << a <<"\t"<< b <<"\t"<< c <<"\t"<< d << endl;}};intmain(){
D object(1,2,3,4);
object.print();return0;}
2020.11.11 第8课 C++io流一、虚继承 菱形继承:继承了相同父类 1.虚继承 2.子类的构造函数写法#include <iostream>using namespace std;class A{public: A(int a) :a(a) {}; int a;};class B :virtual public A{public: B(int a, int b) :b(b), A(a) {} int b;};class C :virtu