父类实例与子类实例

kevinhcj 2007-09-06 09:29:47
大家好!
我有两个类,B:Public A;
现在有一组A的实例vecA,怎么通过它得到相应的一组B的实例vecB?

...全文
232 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞哥 2007-09-06
  • 打赏
  • 举报
回复
。。。。
nkgd 2007-09-06
  • 打赏
  • 举报
回复
自己实现一个以A类型为参数的构造函数就可以
kevinhcj 2007-09-06
  • 打赏
  • 举报
回复
这样我就不要再vecB中重复实例化那些属于A中的成员。
nkgd 2007-09-06
  • 打赏
  • 举报
回复
B是A的子类,那么就是说,B就是A的一种,可以由B得到A,但是反过来不成立,所以你想由A得到B是不行的。
如果是指向A类型指针想要转换为指向B类型的指针的话,用dynamic_cast向下转型,但是注意这个不是一定成功的。
kevinhcj 2007-09-06
  • 打赏
  • 举报
回复
我的意思是能不能让vecB的每个元素都从相应的vecA中“继承”其成员(已实例化)?
lfcai 2007-09-06
  • 打赏
  • 举报
回复
得不到
如果是一样的话可以通过虚函数来实现
a013231 2007-09-06
  • 打赏
  • 举报
回复
不可能.B中新的数据成员怎么知道?
当然如果B有以A为实参的构造函数,可以这样:
vector<B> vecb;
for (vector<A>::const_iterator iter=veca.begin();iter!=veca.end();++iter)
vecb.push_back(B(*iter));
ouyh12345 2007-09-06
  • 打赏
  • 举报
回复
得不到吧。
子类扩展了父类,子类知道父类的细节,但父类不知道子类扩展了哪些东西。
kevinhcj 2007-09-06
  • 打赏
  • 举报
回复
呵呵

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧