C ++中访问器方法(获取器和设置器)的约定
在SO上已经问了几个有关C ++中访问器方法的问题,但没有一个能满足我对此问题的好奇心。 我尝试尽可能避免访问器,因为像Stroustrup和其他著名的程序员一样,我认为带有很多此类的类是OO不好的标志。在C ++中,在大多数情况下,我可以为类增加更多责任,或使用friend关键字避免此类情况。但是在某些情况下,您确实需要访问特定的班级成员。 有几种可能性: 1.完全不使用访问器 我们可以仅公开各个成员变量。在Java中这是不行的,但对于C ++社区似乎可以。但是,我有点担心要返回一个对象的显式副本或只读(const)引用,是否夸大了? 2.使用Java风格的get / set方法 我不确定它是否完全来自Java,但是我的意思是: int getAmount(); // Returns the amount void setAmount(int amount); // Sets the amount 3.使用客观的C风格的获取/设置方法 这有点奇怪,但显然越来越普遍: int amount(); // Returns the amount void amount(int amount); // Sets the amount 为了使它起作用,您将不得不为您的成员变量找到一个不同的名称。有些人在下划线后面加上下划线,其他人则在前面加上“ m_”。我也不喜欢 您使用哪种风格,为什么?