【发布时间】:2020-06-24 16:33:23
【问题描述】:
几年前我在 google 上搜索时发现了一个简洁的功能。 它启用了一种“函数”的使用来控制对成员变量的访问,但我似乎再也找不到它了。 (我也不确定这是 c++ 功能还是仅特定于 msvc 编译器,因为它在 Visual Studio 中以红色突出显示,就好像它是标签或其他东西)
其背后的理论与此类似:
class A
{
public:
.test(int value)
{
priv = value;
}
private:
int priv = 0;
};
...
A a;
a.test = 14; // Sets priv to 14 ! note no () needed after test´
有人知道它是什么吗?
【问题讨论】:
-
这不是合法的 C++ 语法。我认为 C# 的
get和set功能可能具有类似的功能。 -
我知道它看起来不像 c++ 语法,我知道你在说什么,但它在过去仍然有效,但遗憾的是我再也找不到它了。
-
您是否在寻找pointers to members?
-
您的意思是
friend关键字吗? -
您可以将
a.test设为一个类的实例,operator=用于赋值,operator int用于读取值。但这可能不是一个好主意。
标签: c++ class visual-c++ operator-keyword member