- /*
- *Copyright (c) 2016,烟台大学计算机学院
- *All rights reserved.
- *文件名称:test.cpp
- *作 者:陈传祯
- *完成日期:2016年6月14日
- *版 本 号:1.0
- *
- *问题描述:简单的运算符重载
- *输入描述: 两个复数,
- *程序输出: 两个复数相加减的结果
- */
- #include <iostream>
- using namespace std;
- class Complex
- {
- public:
- Complex(){real=0;imag=0;}
- Complex(double r,double i){real=r;imag=i;}
- friend Complex operator+(Complex&c1, Complex &c2);
- friend Complex operator-(Complex&c1 ,Complex &c2);
- void display();
- private:
- double real;
- double imag;
- };
- Complex operator+(Complex&c1,Complex &c2)
- {
- Complex c;
- c.real=c1.real+c2.real;
- c.imag=c1.imag+c2.imag;
- return c;
- }
- Complex operator-(Complex&c1, Complex &c2)
- {
- Complex c;
- c.real=c1.real-c2.real;
- c.imag=c1.imag-c2.imag;
- return c;
- }
- void Complex::display()
- {
- cout<<real<<","<<imag<<"i"<<endl;
- }
- int main()
- {
- Complex c1(3,4),c2(5,-10),c3;
- cout<<"c1=";
- c1.display();
- cout<<"c2=";
- c2.display();
- cout<<"c1+c2=";
- c3=c1+c2;
- c3.display();
- cout<<"c1-c2=";
- c3=c1-c2;
- c3.display();
- return 0;
- }
友元函数编写运算符重载
最新推荐文章于 2024-05-21 18:46:12 发布