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

父类实例与子类实例,该如何处理

2012-03-02 
父类实例与子类实例大家好!我有两个类,B:PublicA;现在有一组A的实例vecA,怎么通过它得到相应的一组B的实例

父类实例与子类实例
大家好!
我有两个类,B:Public   A;
现在有一组A的实例vecA,怎么通过它得到相应的一组B的实例vecB?



[解决办法]
得不到吧。
子类扩展了父类,子类知道父类的细节,但父类不知道子类扩展了哪些东西。
[解决办法]
不可能.B中新的数据成员怎么知道?
当然如果B有以A为实参的构造函数,可以这样:
vector <B> vecb;
for (vector <A> ::const_iterator iter=veca.begin();iter!=veca.end();++iter)
vecb.push_back(B(*iter));
[解决办法]
得不到
如果是一样的话可以通过虚函数来实现
[解决办法]
B是A的子类,那么就是说,B就是A的一种,可以由B得到A,但是反过来不成立,所以你想由A得到B是不行的。
如果是指向A类型指针想要转换为指向B类型的指针的话,用dynamic_cast向下转型,但是注意这个不是一定成功的。
[解决办法]
自己实现一个以A类型为参数的构造函数就可以
[解决办法]
。。。。

热点排行