子类在其父级之前定义

时间:2018-01-31 22:08:25

标签: c++ class inheritance

我正在为购物车编写程序。一切都源于客户。每个客户都有购物车。因此我想把购物车放在Customer类之前。这样做时,我无法将购物车声明为客户的孩子。任何修复?

-exec

1 个答案:

答案 0 :(得分:1)

至于你的问题,不,除了在派生类之前声明和定义基类之外,没有解决问题的方法。前向声明在这里不起作用(正如我天真地想的那样),因为子类需要来自基类的上下文信息。

虽然上述方法可行,但我想指出你真的不了解继承。继承基于关系,即Derived Base,而不是具有关系,这是您的代码尝试模拟的关系。如果您想模拟关系,那么您应该让ShoppingCart成为Customer成员,因为这会显示每个Customer有一个购物车。继承不是解决问题的正确方法。