运算符重载的实现方法
时间: 2024-06-13 10:09:23 浏览: 11
运算符重载的实现方法如下:
1.成员函数重载运算符
可以在类中定义成员函数来重载运算符,这种方法重载的运算符只能有一个操作数是该类的对象,另一个操作数可以是任何类型的数据。例如:
```c++
class Complex {
public:
int real, imag;
Complex operator+(Complex const &obj) { //重载+运算符
Complex res;
res.real = real + obj.real;
res.imag = imag + obj.imag;
return res;
}
};
```
2.全局函数重载运算符
可以定义一个全局函数来重载运算符,这种方法重载的运算符可以有两个操作数,其中至少有一个是自定义类型的对象。例如:
```c++
class Complex {
public:
int real, imag;
};
Complex operator+(Complex const &obj1, Complex const &obj2) { //重载+运算符
Complex res;
res.real = obj1.real + obj2.real;
res.imag = obj1.imag + obj2.imag;
return res;
}
```
需要注意的是,运算符重载函数可以是类的成员函数,也可以是全局函数,但是运算符本身的操作数个数和类型是不可改变的,重载后的运算符优先级和结合性也不会改变。
--相关问题--:
1. 运算符重载有哪些限制?
2. 运算符重载的优点是什么?
3. C++中
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)