首页 新闻 赞助 找找看

C++类继承问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-11-04 22:16

SmartPhone sp (10000, 800, "android");
Phone* pp = &sp;
Camara* pc = &sp;
Computer* po = &sp;
printf ("%p,%p,%p,%p\n", &sp, pp, pc, po);
pp = reinterpret_cast<Phone*> (&sp);
pc = reinterpret_cast<Camara*> (&sp);
po = reinterpret_cast<Computer*> (&sp);
printf ("%p,%p,%p,%p\n", &sp, pp, pc, po);(SmartPhone 继承Phone,Camara,Computer)

为什么这里,
Phone* pp = &sp;
Camara* pc = &sp;
Computer* po = &sp;
printf ("%p,%p,%p,%p\n", &sp, pp, pc, po);
pp,
pc
po
的地址不一样

下面强制类型转换之后就一样了?

c++
桐-的主页 桐- | 初学一级 | 园豆:193
提问于:2012-11-04 16:43
< >
分享
最佳答案
0

C++不像c#是引用的类型,

Phone* pp = &sp;
Camara* pc = &sp;
Computer* po = &sp;

这3个就会分配不同的空间了。

收获园豆:10
zy121 | 初学一级 |园豆:107 | 2012-11-04 22:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册