因为C ++不是Java。您可以使用会员的地址:
&Test::isVal
因此,除了可以重载成员函数之外,不能让两个成员具有相同的名称。即使您可以通过某种方式消除歧义,下一个问题也将在其他地方出现。
在C ++中,包括我在内的许多人通常都专门称呼数据成员,例如
m在其名称前加一个。这样可以避免该问题:
class Test {public: bool IsVal() const { return mIsVal; }private: bool mIsVal;};
因为C ++不是Java。您可以使用会员的地址:
&Test::isVal
因此,除了可以重载成员函数之外,不能让两个成员具有相同的名称。即使您可以通过某种方式消除歧义,下一个问题也将在其他地方出现。
在C ++中,包括我在内的许多人通常都专门称呼数据成员,例如
m在其名称前加一个。这样可以避免该问题:
class Test {public: bool IsVal() const { return mIsVal; }private: bool mIsVal;};