我在构造函数之后放置'sets',因为它与对象设置有关。我分裂得到(放入询问)并设置但不确定这是否好。组织成员职能的最佳做法是什么?
那怎么样?
class Foo
{
// Friends go here if it has
friend ...;
friend ...;
// First public, then protected and private
public:
// enums
enum {...}
// type defines.
typedef ...;
...
// Destructor and constructors
~Foo();
Foo(...);
Foo(...);
...
// Sets.
void setA(...);
void setB(...);
void setC(...);
...
// Inquiries (including gets).
A a() const;
B b() const;
...
// Operators.
void operator()(...);
...
// Operations.
void doSomething();
...
protected:
private:
};
答案 0 :(得分:2)
很难判断,这取决于您的个人偏好或公司编码标准。通过查看您的代码,我可能不同意一些事情:
pubilc
,'protected`然后私人friend
声明在私有区域声明时也有同样的效果。所以我通常将它们放在私人部分,因此public section
中的噪音较少。以下是我通常使用的声明顺序:
在类中使用指定的声明顺序:public
:private
:之前,数据成员之前的方法(变量)等
类定义应从其public
:部分开始,然后是protected
:部分,然后是private
:部分。如果这些部分中的任何部分为空,请省略它们。
在每个部分中,声明通常应按以下顺序排列:
Typedefs and Enums
Constants (static const data members)
Constructors
Destructor
Methods, including static methods
Data Members (except static const data members)
朋友声明应始终位于私有部分,已禁用 copy constructor
和其他运算符`应位于private:部分的末尾。这应该是班上最后一件事。