1. 程式人生 > >6.8 複數類物件的加法運算-友元函式

6.8 複數類物件的加法運算-友元函式

要求定義友元函式實現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;
}