首页 > 其他 > 详细

自考新教材--p152

时间:2019-12-18 15:42:29      阅读:83      评论:0      收藏:0      [点我收藏+]

源程序:

//"+"、"-"运算符重载

#include <iostream>

using namespace std;

class myComplex

{

private:

  double real, imag;

public:

  myComplex();

  myComplex(double x, double i);

  void outCom();

  myComplex operator-(const myComplex &c);

  friend myComplex operator+(const myComplex &c1, const myComplex &c2);//声明友元函数

};

myComplex::myComplex()

{

  real = 0;

  imag = 0;

}

myComplex::myComplex(double r, double i)

{

  real = r;

  imag = i;

}

 

void myComplex::outCom()

{

  cout << "(" << real << "," << imag << ")";

}

 

myComplex myComplex::operator-(const myComplex &c)

{

  return myComplex(this->real - c.real, this->imag - c.imag);

}

 

myComplex operator+(const myComplex &c1, const myComplex &c2)//友元函数可以直接在类外定义

{

  return myComplex(c1.real + c2.real, c1.imag + c2.imag);

}

 

int main()

{

  myComplex c1(1,2), c2(3,4),res;

  c1.outCom();

  cout << "operator+";

  c2.outCom();

  cout << "=";

  res = c1 + c2;

  res.outCom();

  cout << endl;

  c1.outCom();

  cout << "operator-";

  c2.outCom();

  cout << "=";

  res = c1 - c2;

  res.outCom();

  cout << endl;

  system("pause");

  return 1;

}

运行结果:

技术分享图片

自考新教材--p152

原文:https://www.cnblogs.com/duanqibo/p/12059875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!