用C ++代码返回对象是什么意思?

加拉纳里:

我应该返回C ++类的Object是什么意思?

示例:返回一个代表下一个偶数的EvenNumber对象

现在,EvenNumber是我的类,我必须创建一个函数,该函数返回存储下一个偶数的该类的Object。


int EvenNumber::getNext()
{
    if (evenNum % 2 == 0)
    {
        return evenNum;
    }
    else
    {
        return evenNum + 1;
    }
}

现在,我创建了一个整数,该整数根据用户输入返回偶数。我不希望任何人给我答案,但是我只是不了解返回对象的概念。

显然,我在做错什么,因为我在下面的函数中返回一个整数而不是一个对象。

cigien:

来回报您的类的对象EvenNumbergetNext,你就需要提供一个转换构造函数的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};
    }
}

请注意,您不需要显式调用构造函数,因为它会自动被调用,但是显式调用没有任何危害。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章