总结运算符重载的形式。
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总结运算符重载的形式。
运算符重载是C++中的一个重要特性,它允许程序员自定义数据类型的运算符行为。通过运算符重载,程序员可以有更多的灵活性和简洁性来表达对自定义数据类型的操作。运算符重载需要特定的形式来定义重载函数,下面是一些常见的形式:
1. 非成员函数形式:
```
返回类型 operator 运算符(参数列表){
//重载函数体
}
```
这种形式中,运算符重载函数是一个普通的非成员函数,通过参数列表中的参数来传递操作数。在函数体中,程序员需要手动实现操作符的具体行为。
2. 成员函数形式:
```
class MyType{
public:
返回类型 operator 运算符(参数列表){
//重载函数体
}
};
```
这种形式中,运算符重载函数是一个MyType类的成员函数。和非成员函数一样,通过参数列表中的this指针传递操作数,但此时操作数是MyType类对象的一个成员,成员函数中可以访问该成员函数的私有数据和成员函数。
3. 可转换成成员函数形式:
```
class MyType{
public:
返回类型 operator 运算符(参数列表) const{ //重载函数体
}
};
```
这种形式中,运算符重载函数是一个MyType类的成员函数,但是在函数后面添加了const,表示该重载函数不会修改MyType类对象。在函数体内部,可以访问MyType类的成员变量,但是不能修改。
运算符重载是C++中强大特性之一,通过自定义数据类型的运算符行为,我们可以方便地对数据类型进行操作。程序员在使用运算符重载时一定要注意运算符重载的形式,以确保正确使用。