今天放学回家,学习了C++类中的常量对象,常量成员和常引用,现在我跟大家来讲一下吧!
常量对象:
我们如果不希望某一个对象的值被改变,则定义这个对象的时候可以在前面加一个const关键字.给大家举一个例子:
#include<bits/stdc++.h>
using namespace std;
class Demo{ //定义一个类
private: //私密成员
int value;
public: //公有函数
Demo(){ //构造函数
value=0; //初始化
}
~Demo(){ //析构函数
printf("%d\n",value);
}
void xiugai(); //改变Obj值的函数
};
const Demo Obj; //定义常量对象
我们在以上程序中定义了一个常量对象Obj,现在这个对象的值是不能改的了,如果以后想改Obj的值就会报错:
先写一个要改Obj值的函数:
void Demo::xiugai(){ //写这个函数
value=1; //修改value的值
}
然后写一个main,里面让Obj执行这个函数:
int main(){
Obj.xiugai();
}
结果就是:
就会出现这个报错:
[Error] passing 'const Demo' as 'this' argument of 'void Demo::xiugai()' discards qualifiers [-fpermissive]
说一下这个常量对象的注意事项:
1.定义常量对象的时候,这个对象里面一定要有构造函数,而且构造函数里面必须初始化这个类里面的所有成员,不然编译会报错.