与传指针和引用不同, 这样的传递不会造成所有权, 生命周期, 可变性等方面的混乱, 也就没必要在协议中予以明确. 这同时也防止了客户端与实现在非作用域内的交互, 使得它们更容易被理解与维护....如果你的类有虚函数, 则析构函数也应该为虚函数. 注意 数据成员在任何情况下都必须是私有的.
当重载一个虚函数, 在衍生类中把它明确的声明为 virtual....定义:
一个类可以定义诸如 + 和 / 等运算符, 使其可以像内建类型一样直接操作.
优点:
使代码看上去更加直观, 类表现的和内建类型 (如 int) 行为一致....重载运算符使 Equals(), Add()等函数名黯然失色. 为了使一些模板函数正确工作, 你可能必须定义操作符....参见可拷贝类型和可移动类型.
.cc 文件中函数的定义应尽可能和声明顺序一致.
不要在类定义中内联大型函数. 通常, 只有那些没有特别意义或性能要求高, 并且是比较短小的函数才能被定义为内联函数.