现状:“属性”类方法而不是C++中的getter&setters?
class Person {
public:
int& age();
int age() const;
private:
int m_age;
};
我不知道这是否正常工作,因为我觉得,所以我的第一个问题是这样的:
- 有了这些方法,我可以创造C#一样“属性” ?我的意思是:
- 随着第一方法我可以实现当事情改变m_age的价值应该发生什么。
- 随着第二我可以实现什么应该发生的东西使用m_age的值。
例子:
Person p;
p.age() = 15; //first method is called?
std::cout << p.age(); //second method?
我开始认为这是完全愚蠢的是基于混合运算符重载和const方法,所以请:可能有人告诉我吗? :D
如果奇迹般地工作,我可以用这个代替吸气剂& setters或这是一个不好的练习?
怎么会不带参数的setter工作? –
@Eli我认为setter通过引用返回m_age。 –
使用返回的参考。或者,这是唯一的作品,如果方法是内联? @TonyJ是 – Tudvari