我在C++中開始了一個新的oop課程,對不起我的英語不好。class oop realions cpp
我讀了一些關於泛化(繼承),聚合和關聯的信息。 仍然沒有理解這個例子:
可以說,一個出租車想到汽車的,包含很多子類像發動機與車輪.. 我想「讓出租車」訪問所有子類的字段(或我是這麼認爲,我想,PLZ告訴我,如果有更好的方法)
engine.h:
class Engine{
public:
Engine(status nstatus, int npower, double nEngineVer) :EngineStatus(nstatus), power(npower), EngineVer(nEngineVer)
{};
private:
status EngineStatus;
int power;
double EngineVer;
};
Taxi.h:
#include "engine.h"
class Taxi{
public:
Taxi(int id, int ,km, const Engine &engine) :id(id),km(km),engine(engine){};
void printMe(){
cout << id << ' ' << km << ' '<< endl;
}
private:
Taxi(); //default Ctor is private! we dont want to create broken Taxi e.g no engine
int id;
int km;
Engine engine;
};
可以說,如果我使用printMe我想打印出租車的整個值, 我應該怎麼做(允許訪問引擎值)
tnks所有答案!
不要這樣做。讓'Engine'能夠打印自己並調用該函數。 – molbdnilo 2014-11-24 12:28:15