第十一周项目49-实现类中的运算符重载

来源:互联网 发布:mac photoshop cc 2016 编辑:程序博客网 时间:2024/06/05 09:01

问题及代码:

/**Copyright (c) 2015,烟台大学计算机学院*All rights reserved.*文件名称:text.cpp*作者:徐健*完成日期:2015年5月14日*版本号: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&c2){    return Complex(real+c2.real,imag+c2.imag);}    Complex Complex::operator-(const Complex&c2)    {        return Complex(real-c2.real,imag-c2.imag);    }    Complex Complex::operator*(const Complex&c2)    {        return Complex(real*c2.real,imag*c2.imag);    }    Complex Complex::operator/(const Complex&c2)    {        return Complex(real/c2.real,imag/c2.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;}
运行结果:

知识点总结:

此项目是对重载运算符简单的运用。

学习心得:

细节的处理也是很重要的,细心的编程能大量的节省时间。

0 0