首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手,多谢大家来帮忙

2012-02-06 
新手求助,谢谢大家来帮忙class Array{public:const Array &operator(const Array &)}const Array &Array

新手求助,谢谢大家来帮忙
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!

 
[解决办法]
表明谁也不能通过这个引用来修改返回值

热点排行