C++ 在类结束时声明私有成员有什么好处?
发件人: 注意私有成员在末尾是如何声明的。我在其他几个地方见过这种编程风格,但不知何故,我发现首先声明私有成员更容易阅读C++ 在类结束时声明私有成员有什么好处?,c++,C++,发件人: 注意私有成员在末尾是如何声明的。我在其他几个地方见过这种编程风格,但不知何故,我发现首先声明私有成员更容易阅读 像上面那样在课程结束时声明私有成员有什么好处吗?绝对没有,我不明白为什么你应该有好处 这只是个人品味的问题,你应该试着理解你的眼睛更喜欢在哪里寻找它们,并坚持这样做。阅读类声明时,最重要的是公共界面,因此从顶部看是有意义的。您的目光不应该被持有实现的私人成员所吸引 不过这真的没什么关系。选择一种风格(或被赋予一种风格)并坚持下去 事实上,我能真正想到的唯一变化就是成员初始化的
像上面那样在课程结束时声明私有成员有什么好处吗?绝对没有,我不明白为什么你应该有好处
这只是个人品味的问题,你应该试着理解你的眼睛更喜欢在哪里寻找它们,并坚持这样做。阅读类声明时,最重要的是公共界面,因此从顶部看是有意义的。您的目光不应该被持有实现的私人成员所吸引 不过这真的没什么关系。选择一种风格(或被赋予一种风格)并坚持下去
事实上,我能真正想到的唯一变化就是成员初始化的顺序。但是,在最初的C++实现中,所有成员都必须在类的开头声明,或者方法定义中的代码不能看到它们。后来增加了在末尾定义成员的功能,一些人享受着新的自由,采用了这种风格并坚持下去。不过,这两个位置都有意义。在类末尾声明私有成员肯定是一种命名约定。这不是必需的,但很容易阅读,因为通常会看到它们列在公共成员之后
但是,您也可以省略“private:”部分,只在公共成员之外声明您的私有成员。如果您没有将这些变量放在“private:”部分下,而只是在“public:”区域之外(在本例中,在上面)声明它们,那么它们应该自动默认为private 这只是风格的问题。这两种方式都没有好处唯一的好处是,如果有人在浏览你的标题,他可以首先看到感兴趣的公众成员。这仅仅是一个问题,如果你的类很长,你可能应该避免。我唯一要补充的是,无论你喜欢什么,你可能想尝试将所有的public/protected/private放在一起。可能只有我一个人,但是一些公开的然后一些私人的然后更多的公开,等等,更难阅读。
class TestBed
{
public:
enum StrategyType
{
Dummy, Left, Right, Center
};
TestBed()
{
strategy_ = NULL;
}
void setStrategy(int type, int width);
void doIt();
private:
Strategy *strategy_;
};