const修饰的类成员函数
class TestClass
{
private:
int Num;
public:
void SetNumber(int ANumber) const //error
{
Num = ANumber;
}
int GetNumber() const // all right
{
return Num;
}
};
当使用const来修饰成员函数的时候,在函数里面类成员是不能被修改的。
this指针是const类型的,能修改指针指向的内容,但是不能修改指针本身,不能this++
class TestClass
{
private:
int Num;
char chr;
public:
TestClass(int ANumber, char AChr): Num(ANumber), chr(AChr){};
TestClass(int ANumber, char AChr, int ANoSense)
{
Num = ANumber;
chr = AChr;
}
void SetNumber(int ANumber) //error
{
Num = ANumber;
}
int GetNumber() const // all right
{
return Num;
}
};
上述两个构造函数的意义是一样的,第二个构造函数位了重载,用了一个NoSense的参数
构造函数使用冒号列表是一种非常方便的方式

浙公网安备 33010602011771号