Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2349762
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: C/C++

2009-08-18 09:34:41

源于对类定义规范的思考: 公有接口放在最前面, protected 的其次, private最后. 按照重要的程度和应该在维护时被关注的程度划分, 应该很有意义, 但稍后看到一些代码中, 把一些private的最在了最前面, 恰好后面出现了public的函数实现(直接定义在类的定义中), 考虑到C/C++引用一个对象之前必需先看到其声明的严格规则(比如函数原型, 变量声明), 继而很怀疑前面的规范的可行性, 以为如果一个成员函数要使用一个成员变量, 则必需让这个成员变量被声明在先.

实际上, 下面的类定义是正确的. 在一个类定义中, 被引用的成员可以定义在后:
class X {
public:
X(int x):x_(x) { printf("%s\n", __FUNCSIG__);foo(); }
private:
void foo() { printf("x_=%d\n", x_); }
int x_;
};

阅读(808) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~