关于c++的运算符重载

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:46:19
Text& Text::operator=(const Text& t)是什么意思。Text&在这里有什么作用?

Text& Text::operator=(const Text& t)其实是类Text的一个成员函数,作用是重载操作符=
Text& 表示该函数返回的是一个Text类型的引用;如果这里不是用引用的话,也可以实现,但是当出现例如Text a,b,c;a=b=c这样的连续赋值时会发生问题,但返回引用的话就不会有问题
Text:: 表示该函数是属于类Text的
operator=表示重载操作符=
(const Text& t)表示参数是t,t是Text类的一个引用,并且t是const(常量),在函数体内不能改变t的成员的值(不能作为左值)
这个函数的函数体可能是
{
this->a=t.a;
this->b=t.b;
//诸如此类的
return *this;
}

Text就是你这个类了,Text*表示这个类的指针,Text&表示个类的引用,这里用引用是为了使程序有更好的性能,减少传值带来的性能开销。具有原因见Effective C++这本书的条款22。