一、作用:
- 使复杂函数的理解更直观,程序更加简单易懂
二、运算符重载函数的形式是:
返回类型 operator 运算符符号(参数说明)
{
//函数体的内部实现
}
void operator +(Test&, Text&)
{
//函数体的内部实现
}
- 至少有一个参数是自定义类型(数组,类)
- 如果是单目运算符,只传一个参数
- 如果是双目运算符,传两个参数
* 三、C++也规定了一些运算符不能够自定义重载
- 例如: “::”、“*”、“.”、“?:”。 即作用域、取值、取成员、三目运算符
四、常见运算符重载函数的使用
注:C++会隐藏第一个参数,转而取代的是一个this指针
4.1 一种是作为类的友元函数进行使用
如:
friend void operator + (Test&, Test&);
具体例子:
.h头文件
#ifndef __OPERATOR_OVERWRITE_H__
#define __OPERATOR_OVERWRITE_H__
class MyString
{
private:
char *m_str;
public:
MyString(char *m_str);
~MyString();
void print();