一、设计规范:
- 数据尽量私有;
- 参数尽量传引用,const依情况而定;
- 返回值尽量传引用:当返回值为local variable,不可传引用(会返回一个已经销毁的东西,没意义)
- 函数尽量设置为const(当不需要改变成员变量时);
- 尽量使用参数列表. ;
- 避免多线程读写异常,成员变量一定遵循如下设计特点:
①初始化时,成员变量初始化,其他时间只读不要写;
②如果非要写成员变量,请在第一次使用时,将其定义为对象作为局部变量,其他地方公用该对象及其成员变量(通过传引用公用) - 尽量防御式声明,避免多次引入:
//A.h
#ifndef __A__
#define __A__
//代码块
#endif
二、其他:
- C++默认设置(很小的点,很重要的理解)
1、C++ 相同class各个objects互为友元,所以下面的调用就很合理
void main()
{
A a1(1,2);
A a2;
a2.fun1(a1);
}
2、C++ 非静态方法默认自带一个参数 this,所以可以取当前类的成员,在运算符重载中也可以体现这个特点,这里以一段伪代码展示:
//调用部分
params1 += params2;
...
//定义部分
operator += (this, const ¶ms2)
{
func(this, params2);
}
//or
operator += (const ¶ms2)
{
func(this, params2);
}
未完待续>>>