关于指针的一点疑惑
小弟最近学习COM时对指针不禁疑惑,
有请各位多多帮忙
class IX
{
public:
IX() {}
~IX() {}
};
class IY
{
public:
IY() {}
~IY() {}
};
class CA: public IX, public IY
{
public:
CA() {}
~CA() {}
};
void main()
{
CA* pCA= new CA();
IX* pIX= NULL;
IY* pIY= NULL;
printf( "%x\n", pCA );
printf( "%x\n", pIX );
printf( "%x\n", pIY );
pIX= ( IX* )pCA;
pIY= ( IY* )pCA;
printf( "%x\n", pCA );
printf( "%x\n", pIX );
printf( "%x\n", pIY );
delete pCA;
}
输出:
431dc0
0
0
431dc0
431dc0
431dc1//???
相关的书上也说 ( IX* )pCA!=( IY* )pCA 却没详述原因
还请指教
另外还想知道指针除了存储4个字节的地址值外,还有没有其他地方存储它的类型
多谢多谢!