你好,我有一个c++编程作业问题。
我很努力,但不知怎么的我就是得不到。有谁能帮帮我吗?假设你有一个"Engine"类,它的"start()"方法原型如下,写一个"Car"类,它的"turnKey()"方法告诉你汽车是否启动了。Car类应该封装Engine类。
bool Engine::start();
你需要这样做。
简单地创建一个car类,其中包含一个引擎实例。这被称为has-a关系,而不是is-a
关系("汽车有发动机",而不是"汽车是车辆")。
汽车类turnKey
方法可以简单地调用其引擎的start
方法,并检查返回代码,看看它是否启动正常。
注意,这是非常简单的。一个"适当"的解决方案是让引擎保持其状态(运行或不运行),然后汽车可以查询该状态,以便(例如)在你试图启动一辆已经运行的汽车时不会发出可怕的研磨声。
我不知道这种情况是否适用于现代的电子汽车——我上一次遇到这种情况是在1965年的霍尔顿HR上,这可能是我在没有汽车公司超级计算机的帮助下自己修理的最后一辆车:-)。