1. 程式人生 > >第4章 過載運算子 * 作複數乘法運算

第4章 過載運算子 * 作複數乘法運算

#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);
		void display();
	private:
		double real;
		double imag;
}; 

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

void Complex::display(){
	cout<<real<<","<<imag<<"i"<<endl;
}

int main(){
	Complex c1(1,2),c2(3,4),c3;
	c3 = c1 * c2;
	c1.display();
	c2.display();
	c3.display();
	return 0;
	
}