[英]What does it mean to return an Object in C++ Code?
當我應該在 C++ 中返回我的 class 的 Object 時,這意味着什么?
示例:返回表示下一個偶數的偶數 object
現在 EvenNumber 是我的 class ,我必須創建一個 function ,它返回 Object 的 ZA2F2ED4F8EBC0AB614D 存儲 next 數字。
int EvenNumber::getNext()
{
if (evenNum % 2 == 0)
{
return evenNum;
}
else
{
return evenNum + 1;
}
}
現在我創建了一個 integer,它根據用戶輸入返回偶數。 我不希望任何人給我答案,但我只是不理解返回 object 背后的概念。
顯然,看起來我做錯了什么,因為我在下面的 function 中返回 integer 而不是 object。
要從getNext
返回 class EvenNumber
的 object ,您需要提供一個采用int
的轉換構造函數:
class EvenNumber {
private:
int evenNum = 0;
public:
EvenNumber(int n) : evenNum(n) {}
EvenNumber getNext();
}
EvenNumber EvenNumber::getNext()
{
if (evenNum % 2 == 0)
{
return EvenNumber{evenNum};
}
else
{
return EvenNumber{evenNum + 1};
}
}
請注意,您不需要顯式調用構造函數,因為它會自動調用,但是顯式調用並沒有什么壞處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.