华北科技学院计算机系综合性实验
实验报告
课程名称《面向对象程序设计(C++)》
实验学期 2012 至 2013 学年第一学期学生所在院部计算机学院
年级 2011 专业班级计科B11-1 学生姓名学号
任课教师
实验成绩
计算机系制
《面向对象程序设计(C++)》课程综合性实验报告
//********************************************************************************// // 复数类的设计// // 2007/11/27 华北科技学院// //********************************************************************************// #include
using namespace std;
class MyComplex;
MyComplex operator+(const MyComplex&,const MyComplex&);
MyComplex operator-(const MyComplex&,const MyComplex&);
MyComplex operator*(const MyComplex&,const MyComplex&);
MyComplex operator/(const MyComplex&,const MyComplex&);
ostream& operator<<(ostream&,MyComplex);
istream& operator>>(istream&,MyComplex&);
bool operator==(const MyComplex&,const MyComplex&);
bool operator!=(const MyComplex&,const MyComplex&);
class MyComplex
{
public:
MyComplex();
MyComplex(int);
MyComplex(int,int);
MyComplex(const MyComplex&);
MyComplex& operator=(const MyComplex&);
MyComplex& operator+=(const MyComplex&);
MyComplex& operator-=(const MyComplex&);
MyComplex& operator*=(const MyComplex&);
friend MyComplex operator+(const MyComplex&,const MyComplex&);
friend MyComplex operator-(const MyComplex&,const MyComplex&);
friend MyComplex operator*(const MyComplex&,const MyComplex&);
friend MyComplex operator/(const MyComplex&,const MyComplex&);
friend bool operator==(const MyComplex&,const MyComplex&);
friend bool operator!=(const MyComplex&,const MyComplex&);
friend ostream& operator<<(ostream&,MyComplex);
friend istream& operator>>(istream&,MyComplex&);
private:
int rem,imp;
};
//---------------------------------------------------------------
MyComplex::MyComplex()
{
rem=0;
imp=0;
}
MyComplex::MyComplex(int a)
{
rem=a;
imp=0;
}
MyComplex::MyComplex(int a,int b)
{
rem=a;
imp=b;
}
{
rem=v.rem;
imp=v.imp;
}
//---------------------------------------------------------------
MyComplex& MyComplex::operator=(const MyComplex& n) {
rem=n.rem;
imp=n.imp;
return *this;
}
MyComplex& MyComplex::operator+=(const MyComplex& n) {
rem+=n.rem;
imp+=n.imp;
return *this;
}
MyComplex& MyComplex::operator-=(const MyComplex& n) {
rem-=n.rem;
imp-=n.imp;
return *this;
}
MyComplex& MyComplex::operator*=(const MyComplex& n) {
return *this;
}
MyComplex& MyComplex::operator/=(const MyComplex& n)
{
return *this;
}
//------------------------------------------------------------------------------ MyComplex operator+(const MyComplex& m,const MyComplex& n) {
MyComplex t;
t.rem=m.rem+n.rem;
t.imp=m.imp+n.imp;
return t;
}
MyComplex operator-(const MyComplex& m,const MyComplex& n) {
MyComplex t;
t.rem=m.rem-n.rem;
t.imp=m.imp-n.imp;
return t;
}
MyComplex operator*(const MyComplex& m,const MyComplex& n) {
MyComplex t;
t.rem=m.rem*n.rem-m.imp*n.imp;
t.imp=m.rem*n.imp+m.imp*n.rem;
return t;
}
MyComplex operator/(const MyComplex& m,const MyComplex& n) {
MyComplex t;
t.rem=(m.rem*n.rem+m.imp*n.imp)/(n.rem*n.rem+n.imp*n.imp);
t.imp=(m.imp*n.rem-m.rem*n.imp)/(n.rem*n.rem+n.imp*n.imp);
return t;
}
//-------------------------------------------------------------------------
bool operator==(const MyComplex& m,const MyComplex& n) {
return((m.rem==n.rem)&&(m.imp==n.imp));
}
bool operator!=(const MyComplex& m,const MyComplex& n) {
return((m.rem!=n.rem)||(m.imp!=n.imp));
}
//------------------------------------------------------------------------- ostream& operator<<(ostream& s,MyComplex t)
{
if(t.imp==0)
s< else s< return s; } istream& operator>>(istream& s,MyComplex& t) { s>>t.rem>>t.imp; return s; } //-------------------------------------------------------------------------- void main() { MyComplex a,b; cout<<"please input the first MyComplex a:"< cout<<"please input the second MyComplex b:"< cout<<"a="< cout<<"a+b="< cout<<"a-b="<