1.如果成员变量或成员函数是依赖具体对象的,就该声明为实例的,否则,如果变量成员函数不依赖于具体对象的,就该声明为静态的(static),静态的可以通过类名来访问,也可以通过对象名来访问。
2.成员函数如果不会改变对象的数据域,把const关键字放在函数的结尾,
double getArea ( )const;//const类型的成员函数
3.若函数不改变传递给它的对象内容,应该给该参数加上const关键字:
例如: viod printCircle( const circle& c)
circle: 类名;
c: 对象名;
4.对象可以通过值或者引用传递给函数作参数,但通过引用传递更加有效,值传递需要进行复制,浪费内存,在传递对象时,应该总使用按引用传递的方式。
5.常量指针指向一个不变的内存位置,但该内存位置处的实际值是可以改变的:
double a = 5;
double* const p = &a;
指针常量,指向的是常量数据:
double a = 5;
const double *p = &a
6.this 指针
this指针指向被调用对象本身,例如:一个数据域的名字被多次用作一组成员函数的参数名,而这些参数是用来设置数据域的,在这种情况下,需要在函数中引用被屏蔽的数据域:
class Circle{
public:
Circle(double radious)
{
this ->radious = radious;
}
private:
double radious;
}