classMyClass{public:intgetValue()const;// 常量成员函数的声明voidsetValue(intv);private:intvalue; };intMyClass::getValue()const{returnvalue;// 不能修改成员变量}voidMyClass::setValue(intv){ value = v;// 可以修改成员变量} 在上面的示例中,getValue是一个常量成员函数,而setValue不是。 2. 常...
在C++ 类中 , 普通的非静态成员函数 , 可以使用 const 进行修饰 , 在 下面的 Student 类中 , 定义了 void fun(int age, int height) 成员函数 , 下面使用 const 关键字修饰该类 ; 使用const 修饰 成员函数 , 写法如下 ,在 fun() 之后使用 const 关键字修饰 函数 : void fun(int age, int height) ...
1 常量性: 常量成员函数约定不会修改类的任何数据成员, 即在函数体内不能修改类的任何非静态变量和调用任何非常量成员函数. 2 对象调用: 常量成员函数可以被常量对象和非常量对象调用, 对于常量对象, 只能调用常量成员函数;而对于非常量对象, 常量成员函数和非常量成员函数都可以调用. (常量调常量, 非常随便调) ...
1.常量成员函数 1.1把this指针的类型变为const type *const this 1.2常量成员函数内部不能修改其成员,但这只是语法层面的限制 1 2 3 4 5 voidfoo()const{ //this->p = nullptr;//编译报错 HasPtr *ptr = (HasPtr*)this;//强制转换,突破语法限制 ...
所谓常量成员函数就是,常量成员函数的声明中包含const关键字,位于函数参数列表之后,函数体之前。 eg 主要是为了把函数内的this指针转化为常量指针,所以不能通过指针修改所指对象的值了。所以现在就是“只读模式”。 常量成员函数不能修改类的数据成员;常量成员函数只能调用常量成员函数,不能调用非常量成员函数。
在C++ 中,将函数名后面加上 const 关键字表示该函数是一个常量成员函数(const member function)。这个关键字的作用是告诉编译器该函数不会修改对象的成员变量。 常量成员函数有以下几个特点: 1、不修改成员变量:在常量成员函数中,不能修改类的非静态成员变量。这是因为该函数被标记为常量,所以它保证不会改变对象的...
C++常量成员函数 常量成员函数是一种在类中定义的特殊的成员函数,它在函数的参数列表后面加上了const关键字,表示这个函数不能修改类的数据成员,只能访问或返回它们的值。常量成员函数可以被常量对象和非常量对象调用,但是非常量成员函数只能被非常量对象调用。常量成员函数的作用是保护类的数据成员不被意外修改,增加了...
常量对象使用const关键字创建。 不希望某个对象的值被改变,在定义该对象的时候在前面加上const关键字。 常量成员函数可以在成员函数后面加上const关键字进行创建,常量成员函数在执行期间不允许修改其作用的对象。所以,常量成员函数中不能修改除了静态成员变量以外的值,也不能调用静态函数以外的函数。
常量成员函数不能修改任何非静态数据成员或调用不是常量的任何成员函数。 若要声明常量成员函数,请在参数列表的右括号后放置 const 关键字。 声明和定义中都需要 const 关键字。 示例 复制 // constant_member_function.cpp class Date { public: Date( int mn, int dy, int yr ); int getMonth() const;...