首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

父类指针的有关问题

2012-05-28 
父类指针的问题A是父类,B是A的子类;B* b1 new B()B* b2 new B()当b1和b2是不同的实例的时候,有没有

父类指针的问题
A是父类,B是A的子类;

B* b1 = new B();
B* b2 = new B();

当b1和b2是不同的实例的时候,有没有可能 (A*)b1 == (A*)b2 呢?
恳求大虾指点!!!!!!!!!!!!!!!!!!!急

[解决办法]
楼上说的很有明白,但就你问的问题,个人觉得(A*)b1 == (A*)b2是不可能相等的,因为b1和b2分别是指向两块不同的内存地址,就指针本身来说,实际上就是两个不同的“数值”,无论你怎么强制转换,它们也不会相等
[解决办法]
虚函数表,楼主百度一下吧
[解决办法]
不可能相等,放心好了。如果是单根继承(void*)(A*)b1 == (void*)b1,有多继承时可能不同。
百度一下C++对象模型
[解决办法]
两个实例再什么继承什么的也是不同的内存。

可以定义bool operator ==运算符来比较内容而不是地址.

热点排行