虚继承...这已经是我第三次编写虚继承的心得了..
出于种种外界原因,编辑了两次的 虚继承心得 工作,全部白白浪费..IBM laptop我不说啥了..
只好委屈自己了.也委屈了大家..
心得 = 0;//心情好时候再写吧,,都怪IBM laptop...一切见代码吧..
成员函数虚继承; 子类 要声明virtual父类 的父类 的数据成员
代码如下:
实例:
// 虚继承.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
////
class A
{
public:
int A_i;
A(int i):A_i(i){}
void func()
{
cout << "A.func()" << A_i <<endl;
}
};
////
class Base1:virtual public A
{
public:
Base1(int i):A(i){}
};
////
class Base2:virtual public A
{
public:
Base2(int i):A(i){}
void Base2func()
{
cout <<"Base2func()"<< A_i <<endl;
}
};
////
class Derived:public Base1,public Base2
{
public:
Derived(int i,int j,int k):A(i),Base1(j),Base2(k){}
void call_func()
{
func();
}
};
//////
int _tmain(int argc, _TCHAR* argv[])
{
Derived d(3,1,2);//需要初始化... 3 起作用
d.call_func();
d.Base2func();
Base1 b1(1);
b1.func();
Base2 b2(2);
b2.func();
getchar();
return 0;
}