用类的成员函数定义复数类重载运算符
2016-05-31 22:38
295 查看
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈传祯
*完成日期:2016年5月31日
*版本号: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(5,10),c2(6,-6),c3;
cout<<"c1="<<endl;
c1.display();
cout<<"c2="<<endl;
c2.display();
c3=c1+c2;
cout<<"c1+c2="<<endl;
c3.display();
c3=c1-c2;
cout<<"c1-c2="<<endl;
c3.display();
c3=c1*c2;
cout<<"c1*c2="<<endl;
c3.display();
c3=c1/c2;
cout<<"c1/c2="<<endl;
c3.display();
return 0;
}
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈传祯
*完成日期:2016年5月31日
*版本号: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(5,10),c2(6,-6),c3;
cout<<"c1="<<endl;
c1.display();
cout<<"c2="<<endl;
c2.display();
c3=c1+c2;
cout<<"c1+c2="<<endl;
c3.display();
c3=c1-c2;
cout<<"c1-c2="<<endl;
c3.display();
c3=c1*c2;
cout<<"c1*c2="<<endl;
c3.display();
c3=c1/c2;
cout<<"c1/c2="<<endl;
c3.display();
return 0;
}
相关文章推荐
- java ClassLoader工作机制
- 正则表达式
- [转载]Delphi和BC++程序手动查找按钮事件
- 月末了
- Anddroid检测网络是否连接
- leetcode-Merge Two Sorted Lists-21
- XTU 1227 Digit
- JAVA_SE异常捕获机制中的try-catch案例
- 关于资料和总结
- UVa 1627 - Team them up!——[0-1背包]
- fastjson与map之间的转换
- PYTHON_DAY8_20160531
- 01背包 HDU2602
- Maven创建所遇到的问题记录
- TCP和UDP的区别(热门面试题目)
- WeakReference vs SoftReference vs PhantomReference vs StrongReference
- 一、ThinkPHP的介绍
- PYTHON_DAY7_20160530
- Spring事务配置的五种方式
- HDOJ 1000 A+B Problem