新手求助,谢谢大家来帮忙
class Array
{
public:
const Array &operator=(const Array &);
}
const Array &Array::operator=(const Array &right)
{
语句块
return *this;
}
=重载原型前的const是什么意思
即:const Array &operator=(const Array &);
的第一个const的什么意思
[解决办法]
意思是这个函数的返回值是个const,不可以被修改
类似f()=val;这样的表达式将不能通过编译
[解决办法]
在:
class Array
{
public:
const Array &operator=(const Array &);
}
const Array &Array::operator=(const Array &right)
{
语句块
return *this;
}
中,第一个const的说明该重载运算符函数将返回一个常型的Array类型的引用,例如类似:
Array _a;
const Array& _ar = _a;//返回一个常型的Array类型的引用!
则不能用_ar修改对改对象_a!
[解决办法]
表明谁也不能通过这个引用来修改返回值