| 发表于:2007-04-13 11:02:077楼 得分:0 |
const resulttype func_name(const type &arg) const 这个是一个返回值为const resulttype 类型的const成员函数 三个const的作用不一样 第一个是修饰返回值的,返回的是一个const resulttype ,也就是说,返回值不可以修改 例如 resulttype a,b; //定义两个对象 a.func_name()=b; //a.func_name()的返回值是resulttype类型的常对象,也 //就是一个const resulttype 所以对它进行赋值,a.func_name()=b, //是非法的 第二个const是用来修饰形参的,const type &arg表示arg是实参的一个常引用,那么在func_name这个函数里对arg进行任何修改都将是错误的 第三个const是用来表示该成员函数不能修改数据成员的,例如这个类里有一个成员叫int data; 那么 const func_name func_name() const { data++; //这是非法的,const成员函数不可以对数据成员做修改 } | | |
|