关于继承的困惑

关于继承的疑惑
 

class A{
void method();
}

class A1::A{
virtual void do();
}

class A2::A{
virtual void do();
}

class B::A1,A2{

}

class A11::A1{
void do();
}

class A21::A2{
void do();
}

class B2::A11,A21{

}


针对以上代码 在B类继承A1,A2的时候
如果A1 a1 = new B();
a1.do();
A2 a2 = new B();
a2.do();
这两个应该是互不影响吧?
 
------解决思路----------------------
是写错了还是其它语言 ::不是继承的语法,do也不可能作为函数名
------解决思路----------------------
多继承子类指针转成其中一个父类指针后再调用同名虚函数  ,
我首先怀疑继承的合理性……
还是实际代码测一下吧……
------解决思路----------------------
理论上不影响,基地址指向的位置不同。