【发布时间】:2014-04-30 03:43:14
【问题描述】:
我有一个对象,我重载了 = 运算符以接受一个 int。
class jakeint
{
private:
vector<short> theInt;
void _setFromInt(int x);
//operators
public:
jakeint& jakeint::operator=(int x)
{
_setFromInt(x);
return *this;
}
};
这工作得很好。问题是,如果我想使用 = 运算符,我必须这样做:
jakeint ji;
ji = 8;
我确实希望这是可行的,但我也希望能够做到这一点:
jakeint ji = 8;
我该怎么做呢?
我意识到我可以将它添加到构造函数中并执行
jakeint ji(8);
但我希望它们像整数一样工作。
【问题讨论】:
-
提供一个
jakeint(int i)备用构造函数和一个默认构造函数。
标签: c++ class int operator-overloading operators