在课程结束时声明私人会员有什么好处?

时间:2012-03-04 03:16:17

标签: c++

来自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_;
};

请注意最终如何声明私有成员。我在其他几个地方看过这种编程风格,但不知怎的,我发现声称私人成员更容易阅读。

在课程结束时声明私人成员是否有任何好处,如上所述?

4 个答案:

答案 0 :(得分:6)

在阅读类声明时,最重要的是公共接口,因此有必要进入顶层。你的眼睛不应该被那些持有这种实施的私人成员所吸引。

但这并不重要。选择一种风格(或给一种风格)并坚持下去。

实际上,我唯一能想到它改变的是成员初始化的顺序。但这很少重要。

答案 1 :(得分:0)

绝对没有,我不明白为什么你应该有好处。

这只是个人品味的问题,你应该试着去理解你的眼睛更喜欢寻找它们并坚持下去的方式。

答案 2 :(得分:0)

在最初的C ++实现中,必须在类的开头声明所有成员,否则方法定义中的代码无法看到它们。最后定义了成员的能力在以后添加了,有些人在享受新的自由时采用了这种风格并坚持下去。不过,这两个地方都有意义。

答案 3 :(得分:0)

在类的末尾声明私有成员绝对是一个命名约定。不是必需的,但易于阅读,因为在公共成员之后看到它们被列出是很常见的。

但是,您也可以省略“private:”部分,只是在公共成员之外声明您的私人成员。如果你没有把这些变量放在“private:”部分之下,只是在“public:”区域外面(在这种情况下,在上面)声明它们,它们应该自动默认为私有。