class Shape
{
public:
Shape(double x,double y):xCoord(x),yCoord(y){}
virtual double Area()const{return 0.0;}
protected:
double xCoord,yCoord;
};
virtual double Area()const{return 0.0;}请问const在这里是什么意思啊
const用在这里就是这个函数不能修改类成员变量的意思
通常类中的“只读”函数是要被这么设计的
常量成员函数,就说函数不能改变成员变量的值,但能够访问.
Area()函数不能改变xCoord,yCoord
注:但是对于有mutable修饰的变量却是可以改的
函数后加const说明这个函数是常的,也就是说它不能改变对像的状态,它只能用于成员函,用const修饰之后只能由常对像调用,并且不可以修改对像的数据,除非数用用mutable来修饰或用强制类型转换,同时也不能调用没有用const修饰的成员函数,