我应该返回C ++类的Object是什么意思?
示例:返回一个代表下一个偶数的EvenNumber对象
现在,EvenNumber是我的类,我必须创建一个函数,该函数返回存储下一个偶数的该类的Object。
int EvenNumber::getNext()
{
if (evenNum % 2 == 0)
{
return evenNum;
}
else
{
return evenNum + 1;
}
}
现在,我创建了一个整数,该整数根据用户输入返回偶数。我不希望任何人给我答案,但是我只是不了解返回对象的概念。
显然,我在做错什么,因为我在下面的函数中返回一个整数而不是一个对象。
来回报您的类的对象EvenNumber
从getNext
,你就需要提供一个转换构造函数的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] 删除。
我来说两句