#include"iostream"
using namespace std;
// 虚拟继承
// 这是一个父类
class Father{
public:
// 钱
int money=100;
};
// child1继承father的钱(虚拟继承,虚拟继承,只继承father类的money的引用)
class Child1 :virtual public Father{
public:
};
// child2继承father的钱(虚拟继承,虚拟继承,只继承father类的money的引用)
class Child2 :virtual public Father{
public:
};
// childchild继承child1和child2的钱(虚拟继承,只继承child1和child2类的money的引用)
class ChildChild :virtual public Child1, public Child2
{
public:
};
// void test()
// {
// ChildChild cc;
// cout< // cout< // cout< // // 修改钱 // cc.money=20; // cout< // cout< // cout<
// }
// 复制继承
// 这是一个父类 class Father{ public: // 钱 int money=100; };
// child1得到father的拷贝的钱(继承,复制一个father的money变量到child1) class Child1 : public Father{ public:
}; // child2得到father的拷贝钱(继承,复制一个father的money变量到child2) class Child2 : public Father{ public: }; // childchild得到child1和child2的两个拷贝的钱(继承,复制child1和child2的money变量到childchild,(所以说childchild中有两个)) class ChildChild : public Child1, public Child2 { public:
};
// void test() // { // ChildChild cc; // cout< // cout< // cout< // // 修改钱 // cc.money=20; // cout< // cout< // cout<
// }
int main (int argc,char *argv[]) { // test(); return 0; }