来自http://sourcemaking.com/design_patterns/strategy/cpp/1:
class TestBed
{
public:
enum StrategyType
{
Dummy, Left, Right, Center
};
TestBed()
{
strategy_ = NULL;
}
void setStrategy(int type, int width);
void doIt();
private:
Strategy *strategy_;
};
请注意最终如何声明私有成员。我在其他几个地方看过这种编程风格,但不知怎的,我发现声称私人成员更容易阅读。
在课程结束时声明私人成员是否有任何好处,如上所述?
答案 0 :(得分:6)
在阅读类声明时,最重要的是公共接口,因此有必要进入顶层。你的眼睛不应该被那些持有这种实施的私人成员所吸引。
但这并不重要。选择一种风格(或给一种风格)并坚持下去。
实际上,我唯一能想到它改变的是成员初始化的顺序。但这很少重要。
答案 1 :(得分:0)
绝对没有,我不明白为什么你应该有好处。
这只是个人品味的问题,你应该试着去理解你的眼睛更喜欢寻找它们并坚持下去的方式。
答案 2 :(得分:0)
在最初的C ++实现中,必须在类的开头声明所有成员,否则方法定义中的代码无法看到它们。最后定义了成员的能力在以后添加了,有些人在享受新的自由时采用了这种风格并坚持下去。不过,这两个地方都有意义。
答案 3 :(得分:0)
在类的末尾声明私有成员绝对是一个命名约定。不是必需的,但易于阅读,因为在公共成员之后看到它们被列出是很常见的。
但是,您也可以省略“private:”部分,只是在公共成员之外声明您的私人成员。如果你没有把这些变量放在“private:”部分之下,只是在“public:”区域外面(在这种情况下,在上面)声明它们,它们应该自动默认为私有。