按营销型网站要求重做网站 费用,wordpress竖版图片,优化一下,品牌网站设计有哪些建议在C中#xff0c;为了禁止成员函数修改成员数据的值#xff0c;可以将它设置为常成员函数设置方法就是在函数体之前加上const关键字 class X{void func(参数1#xff0c; 参数2#xff0c; ...) const{} };#include iostream using namespace std; class Student{…在C中为了禁止成员函数修改成员数据的值可以将它设置为常成员函数设置方法就是在函数体之前加上const关键字classX{voidfunc(参数1 参数2...)const{}};#includeiostreamusingnamespacestd;classStudent{private:intage;string name;public:Student(intage,conststringname){this-ageage;this-namename;}voidwhoami(void)const{age;// 引发报错cout我是: name 我今年: ageendl;}};intmain(void){Students1(22,张三);s1.whoami();return0;}常函数的实现本质常函数中的this指针是常指针所以不能在常函数中修改成员变量classA{public:voidprint(void)const{...}//编译前voidprint(constA*this){...}//编译后};常函数的使用注意事项常对象只能调用常函数非常对象既可以调用非常函数 也可以调用常函数函数名和形参表相同的成员函数常版本和非常版本可以构成重载常对象只能选择常版本非常对象优先选择非常版本被mutable修饰的成员可以常函数中修改#includeiostreamusingnamespacestd;classA{public:A(intmm0,intnn0):m(mm),n(nn){}voidfun(void){//void func(A * this)cout__func__endl;}voidbar(void)const{cout__func__endl;}voidfun(void)const{//void func(const A *this)cout__func__constendl;m;//n;//语法错误}private:mutableintm;intn;};intmain(void){A a;a.fun();a.bar();constA b;//b.fun(); //语法错误b.bar();return0;}