C++,关于类的继承.为什么可以多次间接继承同一个基类的吗?
代码如下:
class a1{};
class a2:public a1{public :int i;};
class a3:public a1{public: int i;};
class a4:public a3,a2{};
这段代码可以编译通过.
3个简单的问题:
1) a4通过继承 a3 和 a2, 间接继承了2次 a1.为什么这样不会出错呢?
2) a2 和 a3 中同时定义了一个公共变量 int i;那么在a4中使用 i ,它使用的是 a2中的i 还是 a3中的i ?
还是 a2 和 a3 的 i 在 a4 看来,本来就是同一个变量?
3) a4 中,有没有办法分别调用 a2.i 和 a3.i ?