1.概念
重载概念:
C++ 允许在同一作用域中对某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。
运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型
这里主要介绍一下运算符重载。
重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符
重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表
大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果我们定义上面的函数为类的非成员函数,那么我们需要为每次操作传递两个参数,如下所示:
Person operator+(const Person& p1,const Person& p2)
如果是成员函数,对象作为参数进行传递,对象的属性使用 this 运算符进行访问
//成员函数实现 + 号运算符重载
Person operator+(const Person& p) {
Person temp;
temp.m_A = this->m_A + p.m_A;
temp.m_B = this->m_B + p.m_B;
return temp;
}
2.加号运算符重载
作用:
实现两个自定义数据类型相加的运算
代码
class Person {
public:
Person() {};
Person(int a, int b)
{
this->m_A = a;
this->m_B = b;
}
//成员函数实现 + 号运算符重载
Person operator+(const Person& p) {
Person temp;
te