6.8 複數類物件的加法運算-友元函式
阿新 • • 發佈:2018-11-15
要求定義友元函式實現2個複數物件的加法運算。
提示:複數的加法按照以下規定的法則進行:設z1=a+bi,z2=c+di是任意兩個複數,則它們的和z3是 (a+bi)+(c+di)=(a+c)+(b+d)i.
解題思路 :這裡用到了友元函式注意結合6.9 去看 分析友元函式和成員函式的區別。
#include <iostream> using namespace std; class complex { private: double sb,xb; public: complex(double a=0,double b=0) { sb=a;xb=b; } friend complex add(complex &x,complex &y); void Show() { cout<<"("<<sb<<","<<xb<<")"<<endl; } }; complex add(complex &x,complex &y) { complex z; z.sb=y.sb+x.sb; z.xb=y.xb+x.xb; return z; } int main() //主函式 { complex z1(1.5,2.8),z2(-2.3,3.4),z3; //聲明覆數類的物件 z3=add(z1,z2);//友元函式呼叫 cout<<"z3="; z3.Show(); return 0; }