为什么类指针从父类到子类会发生改变?
我定义了三个类,分别是
class ClassA
class ClassB
class ClassC : public ClassB,public ClassA
三个类中都定义有自己的变量。
其中在ClassA中有一个ClassA指针。我试图在其中保存另一个ClassC对象的地址。可是当我在读取这个地址的时候,在ClassA的接口函数里面用ClassA到ClassC的强制类型转换,其结果得到的地址已经跟以前的不一样。就在我的眼前,在=号的前后竟然不一样。
同样,反过来,在我试图删掉这个指针的时候,我在接口里面先判断两个指针是否一样,需要传递另一个ClassC对象的地址,在外部调用ClassA接口的时候,传递的指针又从ClassC强制类型转换成ClassA,同样也发生了变化。难道系统自作聪明的给我加(减)上了ClassB的大小?可是我不管把它当成ClassA还是ClassC访问其中的数据仍然有错。
请教各位,这是怎么回事?我该怎么做?