C++项目——实现复数类中的运算符重载

#include<iostream>
using namespace std;

class Complex{
public:
	Complex(double r=0,double i=0):real(r),image(i){};
	Complex operator+(Complex &a2);
	Complex operator-(Complex &a2);
	Complex operator*(Complex &a2);
	Complex operator/(Complex &a2);
	void display();
private:
	double real;
	double image;
};

Complex Complex::operator +(Complex &a2)
{
	return Complex(real+a2.real,image+a2.image);
}

Complex Complex::operator -(Complex &a2)
{
	return Complex(real-a2.real,image-a2.image);
}

Complex Complex::operator *(Complex &a2)
{
	return Complex(real*a2.real,image*a2.image);
}

Complex Complex::operator /(Complex &a2)
{
	return Complex(real/a2.real,image/a2.image);
}

void Complex::display()
{
	cout<<"<"<<real<<","<<image<<">"<<endl;
	
}

void main()
{
	Complex a1(3,4),a2(5,-10),a3;  
    cout<<"a1=";  
    a1.display();  
    cout<<"a2=";  
    a2.display();  
    a3=a1+a2;  
    cout<<"a1+a2=";  
    a3.display();  
    a3=a1-a2;  
    cout<<"a1-a2=";  
    a3.display();  
    a3=a1*a2;  
    cout<<"a1*a2=";  
    a3.display();  
    a3=a1/a2;  
    cout<<"a1/a2=";  
    a3.display();
}
C++项目——实现复数类中的运算符重载_第1张图片

你可能感兴趣的:(运算符重载)