用成员运算符重载函数进行复数运算

原创 2015年07月07日 20:33:37
#include<iostream>
using namespace std;


class Complex  //声明复数类Complex
{
public:
	Complex(double r=0.0,double i=0.0);//声明构造函数
	void display();//显示输出复数
	Complex operator+(Complex& c);//声明用成员函数重载运算符“+”
    Complex operator-(Complex& c);//声明用成员函数重载运算符“-”
    Complex operator*(Complex& c);//声明用成员函数重载运算符“*”
    Complex operator/Complex& c);//声明用成员函数重载运算符“/”
private:
	double real;//复数的实数部分
	double imag;//复数的虚数部分
};
Complex::Complex(double r,double i)//定义构造函数
{
	real=r;
	imag=i;
}
Complex Complex::operator+(Complex& c)//重载运算符“+”的实现
{
	Complex temp;
	temp.real=real+c.real;
	temp.imag=imag+c.imag;
	return temp;
}
Complex Complex::operator-(Complex& c)//重载运算符“-”的实现
{
	Complex temp;
	temp.real=real-c.real;
	temp.imag=imag-c.imag;
	return temp;
}
Complex Complex::operator*(Complex& c)//重载运算符“*”的实现
{
	Complex temp;
	temp.real=real*c.real-imag*c.imag;
	temp.imag=real*c.imag+imag*c.real;
	return temp;
}
Complex Complex::operator/(Complex& c)//重载运算符“/”的实现
{
	Complex temp;
	double t;
	t=1/(c.real*c.real+c.imag*c.imag);
	temp.real=(real*c.real+imag*c.imag)*t;
	temp.imag=(c.real*imag-real*c.imag)*t;
	return temp;
}
void Complex::display()//显示复数的实数部分和虚数部分
{
	cout<<real;
	if(imag>0)
	{
		cout<<"+";
	}
	if(imag!=0)
	{
		cout<<imag<<"i\n";
	}
}
int main()
{
	Complex A1(2.3,4.6),A2(3.6,2.8),A3,A4,A5,A6;//定义六个复数类对象
	A3=A1+A2;
	A4=A1-A2;
	A5=A1*A2;
	A6=A1/A2;
	A1.display();
        A2.display();
        A3.display();
        A4.display();
        A5.display();
        A6.display();
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

运算符重载函数作为类成员函数和友元函数

可以看到,重载函数operator+访问了两个对象中的成员,一个是this指针指向的对象中的成员,一个是形参对象中的成员。如this->real+c2.real,this->real就是c1.real...

运算符重载函数作为类成员函数与友元函数的区别

运算符重载函数作为类成员函数与友元函数

第八周任务一(运算符重载函数作为类成员函数和有员函数及其他)

(程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.  * 文件名称: ...

第7周-项目1-实现复数类中的运算符重载-类的成员函数

问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 ...
  • MIKASA3
  • MIKASA3
  • 2015年04月25日 08:15
  • 482

第8周-任务1-方案2-复数类中运算符重载(非成员函数实现)

接:第8周-任务1-方案1-复数类中运算符重载(成员函数实现) 本文用方案二求解:用类的友元函数,而不是成员函数,完成上面提及的运算符的重载; 【讲解视频】 【参考解答】 #inc...

15第八周项目一——实现复数类中的运算符重载(成员函数)

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:李晓凯  * 完成日期:2...

《C++第八周实验报告1-1(1)》---复数类中的运算符重载用类的成员函数完成

/* 【任务1】实现复数类中的运算符重载 定义一个复数类重载运算符+、-、*、/,使之能用于复数的加减乘除。 (1)方案一:请用类的成员函数完成运算符的重载; */ /* (程序头部注释开始) * 程...

C++走向远洋——48(项目一1、复数类中的运算符重载、类的成员函数)

*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Wo...
  • vcx08
  • vcx08
  • 2016年05月14日 22:19
  • 429

C++实现输入输出运算符重载、友元函数和成员函数实现复数类Complex

题目要求如下: 1) 基本的构造函数; 2) 成员运算符+、-实现复数的加减运算; 3) 友元运算符+、-实现更合理的加减运算; 4) 运算符实现复数类的输出输入。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用成员运算符重载函数进行复数运算
举报原因:
原因补充:

(最多只允许输入30个字)