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