在C++ 类中 , 普通的非静态成员函数 , 可以使用 const 进行修饰 , 在 下面的 Student 类中 , 定义了 void fun(int age, int height) 成员函数 , 下面使用 const 关键字修饰该类 ; 使用const 修饰 成员函数 , 写法如下 ,在 fun() 之后使用 const 关键字修饰 函数 : void fun(int age, int height) ...
classMyClass{public:intgetValue()const;// 常量成员函数的声明voidsetValue(intv);private:intvalue; };intMyClass::getValue()const{returnvalue;// 不能修改成员变量}voidMyClass::setValue(intv){ value = v;// 可以修改成员变量} 在上面的示例中,getValue是一个常量成员函数,而setValue不是。 2. 常...
1 常量性: 常量成员函数约定不会修改类的任何数据成员, 即在函数体内不能修改类的任何非静态变量和调用任何非常量成员函数. 2 对象调用: 常量成员函数可以被常量对象和非常量对象调用, 对于常量对象, 只能调用常量成员函数;而对于非常量对象, 常量成员函数和非常量成员函数都可以调用. (常量调常量, 非常随便调) ...
所谓常量成员函数就是,常量成员函数的声明中包含const关键字,位于函数参数列表之后,函数体之前。 eg 主要是为了把函数内的this指针转化为常量指针,所以不能通过指针修改所指对象的值了。所以现在就是“只读模式”。 常量成员函数不能修改类的数据成员;常量成员函数只能调用常量成员函数,不能调用非常量成员函数。
const的的用法太多了,常量成员函数就是曾经让我迷惑的用法之一,即在成员函数的参数列表之后加上const。 this 指针 在说常量成员函数之前,必须得详细知道this指针,以前我们知道不论C++还是java中,this都可以表示对象本身,事实如此,而在C++中更准确的定义是: ...
01 常量对象 如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字 classCTest{public:voidSetValue(){}private:intm_value;};constCTestobj;// 常量对象 02 常量成员函数 在类的成员函数后面可以加const关键字,则该成员函数成为常量成员函数。
const成员函数存在的意义在于它能被const常对象调用。我们都知道,在定义一个对象或者一个变量时,如果在类型前加一个const,如const int x;,则表示定义的量为一个常量,它的值不能被修改。但是创建的对象却可以调用成员函数,调用的成员函数很有可能改变对象的值,比如下面这段程序: ...
01 常量对象 如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字 classCTest{public:voidSetValue(){}private:intm_value;};constCTest obj;// 常量对象 02 常量成员函数 在类的成员函数后面可以加const关键字,则该成员函数成为常量成员函数。
C++常量成员函数 常量成员函数是一种在类中定义的特殊的成员函数,它在函数的参数列表后面加上了const关键字,表示这个函数不能修改类的数据成员,只能访问或返回它们的值。常量成员函数可以被常量对象和非常量对象调用,但是非常量成员函数只能被非常量对象调用。常量成员函数的作用是保护类的数据成员不被意外修改,增加了...