unclejimbo
2014-02-19 08:32
采纳率: 100%
浏览 2.3k

c++继承问题,如何在调用基类函数时根据子类而动态分配存储空间?

我现在有几个类,Layer,Feature,Layer类有addFeature函数,存到private成员一个vector中,还有类Point,Line,Area均继承自Feature,但当一个Point对象调用addFeature()函数时,无法添加Point的成员,只能添加继承自Feature的成员;
我觉得应该是addFeature函数没有为子类开辟出存储空间,所以无法存放子类对象,请问如何解决,才能让addFeature函数根据类型来动态分配存储空间呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 滴水冰冻 2014-02-19 10:14
    已采纳

    分配什么空间?
    你的Point ,line,Area三个类是不是都继承Feature
    可以把Feature的成员定义成虚成员virtue
    在子类中都在定义一下该成员就可以了。

    已采纳该答案
    评论
    解决 无用
    打赏 举报