第八週任務一2

* (程序頭部註釋開始)

* 程序的版權和版本聲明部分

* Copyright (c) 2011, 煙臺大學計算機學院學生

 * All rights reserved

* 文件名稱:複數類中的運算符重載

* 作    者:    張豔明               

* 完成日期:     2012    年 4  月    9  日

 版 本 號:       V1.0  

 * 對任務及求解方法的描述部分

* 輸入描述:

 * 問題描述:

 * 程序輸出: 

* 程序頭部的註釋結束

//*

#include<iostream>  
using namespace std;  
class Complex  
{  
public:  
	Complex(){real=0;imag=0;}  
	Complex(double r,double i){real=r;imag=i;}  
	friend Complex operator+(Complex &c1 ,Complex &c2);  
	friend Complex operator-(Complex &c1,Complex &c2);  //友元函數最少兩個參數
	friend Complex operator*(Complex &c1,Complex &c2);  
	friend Complex operator/(Complex &c1,Complex &c2);  
	void display();  
private:  
	double real;  
	double imag;  
};  
//下面定義成員函數   
Complex operator + (Complex &c1,Complex &c2)  
{
	return Complex(c1.real+c2.real,c1.imag+c2.imag);  
} 

Complex operator-(Complex &c1,Complex &c2)  
{
	return Complex(c1.real-c2.real,c1.imag-c2.imag);  
}  

Complex  operator*(Complex &c1,Complex &c2)  
{
	return Complex(c1.real*c2.real,c1.imag*c2.imag);  
}  
Complex operator/(Complex &c1,Complex &c2)  

{
	return Complex(c1.real/c2.real,c1.imag/c2.imag);   
}  
void Complex::display()  
{
	cout<<"("<<real <<","<<imag<<"i)"<<endl;  
}
int main()  
{  
	Complex c1(3,4),c2(5,-10),c3;  
	cout<<"c1=";  
	c1.display();  
	cout<<"c2=";  
	c2.display();  
	c3=c1+c2;  
	cout<<"c1+c2=";  
	c3.display();  
	c3=c1-c2;  
	cout<<"c1-c2=";  
	c3.display();  
	c3=c1*c2;  
	cout<<"c1*c2=";  
	c3.display();  
	c3=c1/c2;  
	cout<<"c1/c2=";  
	c3.display();  
	system("pause");  
	return 0;  
}  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章