第12周项目1-实现复数类中的运算符重载
2016-05-19 21:06
417 查看
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈腾
*完成日期:2016年5月19日
*版本号:v1.0
问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能与复数的加减乘除
输入描述:定义成员函数
输出描述:复数结果
*/
#include <iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator+(const Complex&c2);
Complex operator-(const Complex&c2);
Complex operator*(const Complex&c2);
Complex operator/(const Complex&c2);
void display();
private:
double real;
double imag;
};
Complex Complex::operator+(const Complex&s2)
{
return Complex(real+s2.real,imag+s2.imag);
}
Complex Complex::operator-(const Complex&s2)
{
return Complex(real-s2.real,imag-s2.imag);
}
Complex Complex::operator*(const Complex&s2)
{
return Complex(real*s2.real,imag*s2.imag);
}
Complex Complex::operator/(const Complex&s2)
{
return Complex(real/s2.real,imag/s2.imag);
}
void Complex :: display()
{
cout<<"("<<real<<","<<imag<<")"<<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();
return 0;
}
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈腾
*完成日期:2016年5月19日
*版本号:v1.0
问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能与复数的加减乘除
输入描述:定义成员函数
输出描述:复数结果
*/
#include <iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator+(const Complex&c2);
Complex operator-(const Complex&c2);
Complex operator*(const Complex&c2);
Complex operator/(const Complex&c2);
void display();
private:
double real;
double imag;
};
Complex Complex::operator+(const Complex&s2)
{
return Complex(real+s2.real,imag+s2.imag);
}
Complex Complex::operator-(const Complex&s2)
{
return Complex(real-s2.real,imag-s2.imag);
}
Complex Complex::operator*(const Complex&s2)
{
return Complex(real*s2.real,imag*s2.imag);
}
Complex Complex::operator/(const Complex&s2)
{
return Complex(real/s2.real,imag/s2.imag);
}
void Complex :: display()
{
cout<<"("<<real<<","<<imag<<")"<<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();
return 0;
}
相关文章推荐
- oracle sql学习三
- poj-2960 S-Nim
- 高精度乘法
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层
- Hibernate初体验及简单错误排除
- 利用UDPSocket模拟一次对话,只能运行依次,多次执行还在测试中.跪求大神建议....
- Hibernate初体验及简单错误排除
- 基于FS4412嵌入式系统移植(3) eMMC加载系统启动linux体验
- linux 中大小端问题 详解
- 大数加法 及 乘法
- 二叉排序树(BSTree)关于查找算法结合
- ArrayList和LikendList
- 找水王01
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层
- 网页的3层结构 结构层 表示层 行为层