有时候我们希望创建一个类,这个类里面的数据都是不可改变的就是说当我们创建这个类的时候类内的数据已经确定了。
#include <iostream>
using namespace std;
class Test
{
private:
int a;
public :
Test() :a(5){}
Test(int a){
this->a = a;
}
void SetA(int temp)
{
this->a = temp;
}
int GetA()const
{
return this->a;
}
};
int main()
{
const Test a;
const Test b(7);
a.SetA(5);
cout << a.GetA() << endl;
return 0;
}
C++按照如上形式创建不可变类,必须要保证所有的方法都为const方法,不能对数据成员进行修改。
正确的代码:
#include <iostream>
using namespace std;
class Test
{
private:
int a;
public :
Test() :a(5){}
Test(int a){
this->a = a;
}
int GetA()const
{
return this->a;
}
};
int main()
{
const Test a;
const Test b(7);
cout << a.GetA() << endl;
return 0;
}