【发布时间】:2016-01-08 10:42:51
【问题描述】:
我在这里得到了很多帮助,这是我第一次提出问题,如果我犯了任何愚蠢的错误,请原谅我。谢谢!
我有一个名为Car 的基类,其中有一个静态变量供派生类共享。例如
class Car {
static int mileage;
}
然后我有一系列针对汽车不同组件的子类,例如engine、wheel、body……它们都共享/修改mileage的信息。
整个项目可能有几个Car的对象,每个Car对象需要包含一组engine、wheel、body的组件......所以我的问题是如何声明/定义所有这些对象。或者实现这个想法的其他方法是什么?
简单来说,如何让Engine eng_car1; Wheel whe_car1; Body bod_car1;分享一个static int mileage和Engine eng_car2; Wheel whe_car2; Body bod_car2;分享另一个static int mileage?
再次感谢!
【问题讨论】:
-
考虑到不同的汽车有不同的里程,将变量设置为
static是没有意义的。汽车的不同部分也不是Car的实际“子类”(即继承自Car)。汽车包含几个部件(如发动机、车轮等),但这些部件本身并不是汽车。
标签: c++ inheritance static