#include <iostream>
using namespace std;
int main() {
//常对象:只能调用const成员函数,
//常成员函数不能调用其他非const成员函数
class en {
public:
int id;
string c1;
const string c = "dswe";//常数据成员;只能通过构造函数的初始化参数表付一个初始值,然后就不能改变了
public:
en(int x, string b) {
id = x;
c1 = "SFdsa";
}
// en(string c2) : c(c2) {};//常数据成员const string a只能通过构造函数参数数据表来处理
void shu() {
id = 78;
c1 = "dfd";
}
void input() const {
}
};
en const s1(45, "dfasf");//定义常对象,必须用构造函数初始化
// s1.shu();//当一个对象是常对象,则只能调用常成员函数(不能修改对象成员数据的、值),不能调用普通的成员函数,除开构造函数和析构函数。
const en s2(56, "AFASD");
s2.input();
s2.id = 78;//常对象初始化以后就不能修改值;
//对于需要通过成员函数改变的数据成员,则类型为mutable int a;
return 0;
}