两个类继承于同一个基类,并共享基类的数据,即内存。代码如下:

#include 
  using namespace std;    //---------------------------------------------------------------------------  class Atest  {   //基类      public:      int i;  };    class Btest :virtual public Atest//继承时使用了virtual关键字  {    //继承类       public:       void set(int value)       {           i = value;       }       void show()       {           cout << i <

这个一个棱形类的继承结构,如果去掉virtual关键字,会出现二义性,编译出错。采用虚基类后,中间任何一个子类改写基类数据i,另一个类型都能读出同样的数据。