&operator=
时间: 2023-08-27 14:17:00 浏览: 91
引用中提到,运算符重载函数“operator=”是一个赋值运算符的重载函数。该函数用于将一个对象的值赋给另一个对象,从而实现对象之间的赋值操作。在C++中,赋值运算符重载函数的名字是"operator=",它可以被定义为类的成员函数或全局函数。
如果赋值运算符重载函数被定义为类的成员函数,那么它将用于将一个对象的值赋给该类的另一个对象。例如,如果有一个person类,可以定义一个赋值运算符重载函数来实现对象之间的赋值操作,就像这样:
```cpp
person& operator=(const person& ps)
{
if (this != &ps) {
this->age = ps.age;
}
return *this;
}
```
在上面的例子中,赋值运算符重载函数使用了const引用参数,接受一个person对象作为参数,并将该对象的age值赋给当前对象的age成员变量。此外,还需要注意在函数体内部判断了两个对象是否是同一个对象,以避免自我赋值的问题。
如果赋值运算符重载函数被定义为全局函数,那么它将用于将一个对象的值赋给不同类的对象。例如:
```cpp
person operator=(const person& ps1, const person& ps2)
{
person temp;
temp.age = ps1.age;
return temp;
}
```
在上面的例子中,全局函数的参数包括两个person对象,它将ps1对象的age值赋给一个新的person对象temp,并将temp对象作为返回值返回。
总之,赋值运算符重载函数允许我们自定义对象之间的赋值操作,以便适应特定的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++编程语言中重载运算符(operator)介绍](https://blog.csdn.net/liitdar/article/details/80654324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文