是否存在运营商?

Does an operator exist for this?

因此,运算符重载显然是 C++ 的一个重要特性。

但是假设我想获得一个 class 的成员,只需键入变量名即可。

很喜欢:

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
}

这可能吗?有没有一种方法可以通过使用变量名来获取成员 "value"?

谢谢!

是的,你可以做到。您可以通过提供一个转换运算符作为成员函数来做到这一点。

operator short () const
{
   return value;
}