C++教程:C++操作符的重载

2020-01-06 12:35:05王旭

   temp=a-b;
   temp.display();
   cout <<endl;
   temp=a+b-(c+d);//可以和括号一起使用了
   temp.display();
   cout <<endl;
   return 0;
}

运行结果:
8+6i
-2-2i
3+3i
以上程序的main.cpp中,复数的加法表达得非常简洁易懂,与程序16.3.1相比有了很大的进步。并且,我们发现使用了括号以后,可以更方便地描述各种复杂的运算。操作符在重载之后,结合性和优先级是不会发生变化的,符合用户本来的使用习惯。

作为友元

前面我们把操作符作为成员函数,实现了复数的加减法。如果我们把操作符作为普通的函数重载,则需要将其声明为友元。这时,参数表中的操作数个数应该与操作符原来要求的操作数个数相同。