加了const的成员函数可以被非const对象和const对象调用但不加const的成员函数只能被非const对象调用 char getData()const{ return this->letter; } c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 请看这两个函数 const int getValue(); int ge...
当成员函数后面加上const时,表示该成员函数不能修改类的成员变量。 复制 classMyClass{public:intgetValue()const;private:int value;};int MyClass::getValue()const{// value = 20; // 错误:不能修改成员变量returnvalue;} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 在上面的例子中,getValue函数...
后面加const表示函数不可以修改class的成员 请看这两个函数: constintgetValue();intgetValue2()const;/* * FunctionConst.h */#ifndefFUNCTIONCONST_H_#defineFUNCTIONCONST_H_classFunctionConst{public:intvalue;FunctionConst();virtual~FunctionConst();constintgetValue();intgetValue2()const;};#endif/* F...
(2)const成员函数不能调用非onst成员函数,因为非const成员函数可以会修改成员变量 1 #include <iostream> 2 using namespace std; 3 class Point{ 4 public : 5 Point(int _x):x(_x){} 6 7 void testConstFunction(int _x) const{ 8 9 ///错误,在const成员函数中,不能修改任何类成员变量 10 x=_...
3.函数中使用CONST (1)const修饰函数参数 a.传递过来的参数在函数内不可以改变(无意义,因为Var本身就是形参) void function(const int Var); b.参数指针所指内容为常量不可变 void function(const char* Var); c.参数指针本身为常量不可变(也无意义,因为char* Var也是形参) ...
(一)函数头末尾 函数后加const,一般只出现在类的成员函数定义中,这意味着这些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数。 classA{private:inti;public:intget()const{// get函数返回i的值,不需要对i进行修改,则可以用const修饰。防止在函数体内对i进行修改。同时提高代码的可读性returni;}voi...
const int * const p 详细解释可以直接跳转:consthttps://www.codersrc.com/archives/9077.html修饰指针; 3.const 修饰在函数名前面 当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是 C++ 常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。
const 成员函数不可以修改对象的数据,不管对象是否具有 const 性质.它在编译时,以是否修改成员数据为依据,进行检查; 然而加上 mutable 修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的 const 成员函数是可以修改它的; 二.const 修饰函数参数 ...
3、const也可以用来修饰类对象及函数,当const修饰类时,表示该类不能被修改,因此它可以用于类的成员函数中,以保证类的派生类不会改变其它成员函数的行为。 例如:class A { public: void foo(){} void bar()const{} private: int m_data; }; 4、const也可以用来保护函数的参数,当参数加上const后,参数不能...
const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代码如下: ...