关于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
Run Code Online (Sandbox Code Playgroud)
3.使用客观的C风格的get/set方法
这有点奇怪,但显然越来越普遍:
int amount(); // Returns the amount
void amount(int amount); // Sets the amount
Run Code Online (Sandbox Code Playgroud)
为了使其工作,您必须为您的成员变量找到不同的名称.有些人附加下划线,其他人加上"m_".我也不喜欢.
你使用哪种风格?为什么?