注:最后有面试挑战,看看自己掌握了吗
🍃博主昵称:
一拳必胜客
🌸博主寄语:欢迎点赞收藏关注哦,一起成为朋友一起成长;
特别鸣谢:木芯工作室 、Ivan from Russia
C++ 中的运算符重载
- 您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。
- 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
Box operator+(const Box&);
- 声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果我们定义上面的函数为类的非成员函数,那么我们需要为每次操作传递两个参数,如下所示:
Box operator+(const Box&, const Box&);
#include<iostream> using namespace std; //加号运算重载 class Person { public: //1、成员函数重载+号 /* Person operator+(Person &p) { Person temp; temp.m_a=this->m_a+p.m_a; temp.m_b=this->m_b+p.m_b; return temp; } */ int m_a; int m_b; }; //2、全局函数重载+号 Person operator+(Person &p1,Person &p2) { Person temp; temp.m_a=p1.m_a+p2.m_a; temp.m_b=p1.m_b+p2.m_b; return temp; } void test01() { Person p1; p1.m_a=10; p1.m_b=10; Person p2; p2.m_a=10; p2.m_b=10; Person p3=p1+p2; cout<<"p3.m_a:"<<p3.m_a<<endl; cout<<"p3.m_b:"<<p3.m_b<<endl; } int main() { test01(); return 0; }