3. 第3个地方是函数后面加上const => const 修饰函数体时,放到函数体的行尾处,表明在该函数体内,不能修改对象的数据成员,且不能调用非 const 成员函数。 int fun() const => 这个表明这是个只读函数,在这个只读函数内部,是不能够去改变这个函数所在的类中的成员变量的, 也不能够去调用这个函数所在的类中的...
FunctionConst::~FunctionConst() {//TODO Auto-generated destructor stub}const intFunctionConst::getValue(){returnvalue;//返回值是 const, 使用指针时很有用.}intFunctionConst::getValue2()const{//此函数不能修改class FunctionConst的成员属性 valuevalue =15;//错误的, 因为函数后面加 constreturnvalue; ...
我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是”只读”函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。 其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按...
例如:int Point::GetY() { return yVal; }这个函数被调用时,不改变Point对象,而下面的函数改变Point对象: void Point:: SetPt (int x, int y) { xVal=x; yVal=y; }为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明: class Point { public: int GetX() const;...
1、非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)2、表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用);3、唯一的例外是对于mutable修饰的成员。加了const的成员函数可以被非const对象和const对...
const的用法,特别是用在函数后面 1. 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的地址。
int date::getday() const {} 函数后面的const主要控制该类为常量,换句话说,就是在这个函数中,不会修改类的任意成员。为了更加了解这个约束,我们先了解下this指针。 (一)*this指针 this指针是对象在类成员函数中的引用,它隐式地指向调用该函数的对象的地址,当我们通过某个对象调用类的成员函数时,则this被请求...
1、非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误) 2、表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中, 任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用); 3、唯一的例外是对于mutable修饰的成员。 加了const的成员函数可以被非const对象和...
非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改该类中成员的操作都是不允许的(因为隐含了对this指针的const引用);唯一的例外是对于mutable修饰的成员。 加了con