后面加const表示函数不可以修改class的成员 请看这两个函数: constintgetValue();intgetValue2()const;/* * FunctionConst.h */#ifndefFUNCTIONCONST_H_#defineFUNCTIONCONST_H_classFunctionConst{public:intvalue;FunctionConst();virtual~FunctionConst();constintgetValue();intgetValue2()const;};#endif/* F...
(一)函数头末尾 函数后加const,一般只出现在类的成员函数定义中,这意味着这些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数。 classA{private:inti;public:intget()const{// get函数返回i的值,不需要对i进行修改,则可以用const修饰。防止在函数体内对i进行修改。同时提高代码的可读性returni;}voi...
当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是 C++ 常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 const char * GetString(void); const int GetInt(void); const float GetFloat(void); const double GetDdouble(void); 如果给以“指针传递”方式的函数返...
const 成员函数不可以修改对象的数据,不管对象是否具有 const 性质.它在编译时,以是否修改成员数据为依据,进行检查; 然而加上 mutable 修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的 const 成员函数是可以修改它的; 二.const 修饰函数参数 ...
常成员函数:类名::fun(形参) const 常数组:类型说明符 const 数组名[大小] 常指针:const 类型说明符* 指针名 ,类型说明符* const 指针名 首先提示的是:在常变量(const 类型说明符 变量名)、常引用(const 类型说明符 &引用名)、常对象(类名 const 对象名)、常数组(类型说明符 const 数组名[大小]),const...
当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是C++常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void);constdoubleGetDdouble(void); ...
在C++中,由const修饰的成员函数的函数体内部,是不能够对成员变量进行修改的。这个特性被用来保证某些成员函数在实现过程中,避免由于程序员大意而对数据进行了错误的修改;同时也说明此成员函数是非修改性的。如只需要返回成员变量的成员函数就被声明为const类型(const的位置在函数定义参数列表之后) ...
const只能修饰输入参数: 如果输入参数采用“指针传递”,那么加const修饰可以防止意外地改动该指针,起到保护作用。 例如StringCopy函数: void StringCopy(char *strDestination, const char *strSource); 其中strSource是输入参数,strDestination是输出参数。给strSource加上const修饰后,如果函数体内的语句试图改动strSource...
intgetValue()const{returnvalue;} }; intmain() { Test t(20); cout<<t.getValue(); return0; } 输出: 20 当函数声明为const时,可以在任何类型的对象上调用它。非const函数只能由非const对象调用。 例如,以下程序存在编译器错误。 #include<iostream> ...
像成员函数和成员函数参数一样,类的对象也可以声明为const。声明为const的对象无法修改,因此只能调用const成员函数,因为这些函数确保不修改该对象。 可以通过在对象声明的前缀const关键字来创建const对象。任何试图更改const对象的数据成员的尝试都会导致编译时错误。