因此,运算符重载显然是C ++的一个很好的特性。
但是说我想让一个类的成员只使用变量的名称输入。
所以喜欢:
class ShortProperty
{
public:
ShortProperty(short value)
{
this->value = value;
}
public:
short operator=(short value)
{
this->value = value;
return value;
}
private:
short value;
}
void foo()
{
ShortProperty myproperty(2);
// Now I can easily do...
mtproperty = 3;
// But say I wanted to do...
short val = myproperty; // THIS LINE
}
这可能吗?有没有办法可以使用变量名称,获取成员“值”?
谢谢!
答案 0 :(得分:3)
是的,你可以这样做。您可以通过将转换运算符作为成员函数来实现。
operator short () const
{
return value;
}