是否可以转发声明一个类成员变量?我想做类似以下的事情(但它不起作用):
class myClass;
bool myClass::myvar;
void main()
{
myClass* aaa;
...
aaa->myvar = false;
}
在此示例中,myvar是myClass的布尔成员。
答案 0 :(得分:1)
不,你不能。想象一下,这个课程分散在不同的翻译单元中 那会员会有什么?什么是对象布局?
那是难以解决的问题。
答案 1 :(得分:0)
我建议在这种情况下使用set / get方法。然后,您不要将内部数据暴露给外界。
在myClass的标题中:
class myClass
{
public: setMyVar(const bool& value);
public: inline const bool& getMyVar() const;
private: bool myVar;
};
在您的实施中:
class myClass;
void main()
{
myClass* aaa;
...
aaa->setMyVar(false);
}