您好我有一个c ++编程分配问题。我努力了,但不知怎的,我没有得到。
假设您有一个类“Engine”,其下面有一个“start()”方法原型,请编写一个带有“turnKey()”方法的“Car”类,告诉您汽车是否启动。 Car类应封装“Engine”类。
bool Engine::start();
有人可以帮助我吗?
答案 0 :(得分:0)
这是你需要做的。
只需创建一个包含引擎实例的汽车类。这被称为 has-a 关系,而不是is-a
关系('汽车有引擎',而不是'汽车是车辆')。
汽车类turnKey
方法可以简单地调用其引擎的start
方法并检查返回代码以查看它是否正常启动。
请注意,这非常简单。一个“正确的”解决方案会让发动机保持其状态(运行或不运行),然后汽车可以查询该状态,以便(例如)不会(例如)在您尝试启动已经运行时产生可怕的磨损噪音车。
对于我不知道的现代电子车是否也是如此 - 这次发生在我身上的最后一次发生在1965年的Holden HR上,可能是我在没有汽车公司超级计算机的帮助下自己修理的最后一辆车: - 。)