Tag: accessor

访问器方法(getter和setter)在C ++中的约定

关于C ++的访问器方法的几个问题已经被问到,但是没有一个能够满足我对这个问题的好奇心。 我尽可能地避免使用访问器,因为像Stroustrup和其他着名程序员一样,我认为一个类中有许多是OO的坏迹象。 在C ++中,我可以在大多数情况下为类添加更多的责任,或者使用friend关键字来避免它们。 但在某些情况下,您确实需要访问特定的class级成员。 有几种可能性: 1.根本不使用访问器 我们可以公开各自的成员variables。 这在Java中是不可行的,但对于C ++社区来说似乎没有问题。 然而,我有点担心的情况是明确的复制或只读(const)引用的对象应该被返回,这是夸大? 2.使用Java风格的get / set方法 我不确定它是否来自Java,但我的意思是: int getAmount(); // Returns the amount void setAmount(int amount); // Sets the amount 3.使用客观的C风格get / set方法 这有点奇怪,但显然日益普遍: int amount(); // Returns the amount void amount(int amount); // Sets the amount 为了这个工作,你将不得不为你的成员variablesfind一个不同的名字。 有些人附加一个下划线,其他人则加上“m_”。 我也不喜欢。 你使用哪种风格,为什么?