英語不是我的第一語言。我希望我不會犯很多錯誤。我會盡力讓自己儘可能清楚!使用多態性將派生類的值複製到基類
我有一個基類
class engine
{
private :
std::string name;
double weight;
public:
engine();
~engine();
std::string getName() const;
int getWeight() const
};
std::string engine::getName() const{
return this->name;
}
int engine::getWeight() const{
return this->weight;
}
和派生類
class diesel : public engine
{
private:
std::string name;
double weight;
public:
diesel();
~diesel();
};
diesel::diesel(){
this->name = Diesel;
this->weight = 500.00;
}
在我的main.cpp
int main()
{
diesel diesel_engine;
const engine &e = diesel_engine;
std::cout<<e.getWeight()<<e.getName()<<std::endl;
return 0;
}
1 - 我必須建立一個名爲diesel_engine柴油類。將柴油發動機的值通過參考值傳遞給新的發動機。
當我打電話給const engine &e = diesel_engine;
時,diesel_engine的值(名稱和重量)應該被複制到新的引擎e。
所以'e'應該有500.00的重量和名稱「Diesel」。
我不明白我該如何使用多態性來做到這一點。
謝謝你閱讀這個問題!
這將是巨大的,將添加類的聲明。 –
好的,我會的!謝謝 –
不太清楚,如果我真的明白;似乎成員變量'name'和'weight'應該有'protected'修飾符,那麼。而不是在派生類中重新聲明。怎麼了?你會得到一個編譯時錯誤,運行時錯誤,你如何檢查'main'結尾處的'engine'的值? – dlatikay