簡體   English   中英

在 C++ 代碼中返回 Object 是什么意思?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM