我有一類看起來像這樣:C++運算符重載> = 2不同返回
class Player
{
friend bool operator>=(Player &pl1, Player &pl2)
{
return true;
};
private:
int nr, height, weight;
}
玩家都有一個編號,身高和體重。 現在我想知道Player1是否比Player2更大和/或更重。在此之後,我想打印出如下:
Player A is 2 cm bigger (smaller) and 7 kg heavier (lighter) than Player B.
如何才能管理它,當我只能返回true或false?當他變得更大更重或更輕時,我可以迴歸真實,但是我應該如何管理更大/更輕的|更小/更重的情況?
編輯:我必須做到這一點與operator>=
。這是我的學校考試,條件是這樣做。這裏是文字:
輸入後,玩家將被顯示。通過使用運算符超載> =將會檢查球員是否比其他球員更大和/或更重。將顯示確定數據的結果,例如:玩家A比玩家B大2釐米(更小)和7公斤重(更輕)。
也許使用自定義枚舉...? –
那麼......你會期待什麼?是一個更小更重的玩家嗎?''''或者'<'更大更輕的玩家?我不認爲運營商超載是在這種情況下最好的方式。 – Marvin
您應該簡單地定義一個具有適當返回類型的額外方法。沒有必要將所有東西都安裝到標準操作符中並使其超載。不要把OOP當作邪教。 – inf