题目概述:
分别求两个复数之和,整数与复数之和。
编程:
#include< iostream>
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
Complex() { real = 0; imag = 0; }
Complex(double r, double i) { real = r; imag = i; }
Complex(double r) { real = r; imag = 0; }//转换构造函数
friend Complex operator+(Complex c1, Complex c2);//重载运算符“+”的友元函数
void display();
};
void Complex::display()
{
cout << “(” << real << “,” << imag << “i)” << endl;
}
Complex operator+(Complex c1,Complex c2)
{
return Complex(c1.real + c2.real, c1.imag + c2.imag);
}
int main()
{
Complex c1(3, 4), c2(5, -10), c3;
int i = 5;
c3 = c1 + c2;
cout << “c1+c2=”;
c3.display();
c3 = c1 + i;
cout << “c1+i=”;
c3.display();
c3 = i + c1;
cout << “i+c1=”;
c3.display();
return 0;
}
上机实践:

心得体会:
在已经定义相应的构造函数情况下,将运算符“+”函数重载为友元函数,在进行两个复数相加时,可以用交换律。
如果重载运算符“+”函数不作为Complex的友元函数,而作为Complex类的成员函数,则不能进行交换。
结论:
如果运算符函数重载为成员函数,它的第一个参数必须是本类对象。(交换律不适用)
一般情况下,将双目运算符函数重载为友元函数,单目运算符则多重载为成员函数。

C++:重载运算符“+”,用于复数加法运算。(如c1+c2,i+c1,c1+i(i为整数))相关推荐

  1. C++编程练习:计算长方体体积、对象数组求学生成绩最高者、销售应用问题、重载复数加法运算

    目录 一.需要求3个长方体的体积,请编一个基于对象的程序.数据成员包括length(长).width(宽).height(高).要求同成员函数实现以下功能. 二.建立一个对象数组,内放5个学生的数据( ...

  2. C语言复数的加法运算和减法运算,复数的基本运算(C语言).doc

    复数的基本运算(C语言) #include #include typedef struct fushu//抽象数据类型定义 { float real;//数据对象 float image; }fush ...

  3. DEVC++(1)单文件实现重载运算符的十六进制数类

    本文运用DEVC++软件,通过C++类的定义和重载运算符来实现十六进制数类的运算操作,代码以单文件的方式来构建. 题目描述如下: 设计1~4位的无符号十六进制数据类class HEX. 可以创建如 A ...

  4. 数据结构—— 一元多项式的加法运算

    一. 需求分析 0.问题描述 在数学上,一个一元n次多项式 可按降序写成: 它由n+1个系数唯一确定,因此,在计算机里他可以用一个线性表表示: 设Pn(x)和Qn(x)分别为两个一元多项式,请求出两个 ...

  5. 定义复数类Complex,重载运算符“+”,使之用于复数的加法运算

    定义复数类Complex,重载运算符"+",使之用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数. C++代码实现: #include<iostream> ...

  6. C++复数的运算、运算符重载

    文章目录 一. 复数的运算 二.利用重载运算符+来实现复数的加法运算 一. 复数的运算 1.算法详解[在注释中] #include <iostream> using namespace s ...

  7. 定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。

    定义一个复数类Complex,重载运算符"+"," -","*","/"使之能用于计算两个复数的加减乘除.运算符重载函数 ...

  8. [YTU]_2441( C++习题 复数类--重载运算符2+)

    题目描述 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意.例如,c1+c2,i+c1 ...

  9. [YTU]_2439( C++习题 复数类--重载运算符+)

    题目描述 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数.编写程序,求两个复数之和. 输入 两个复数 输出 复 ...

最新文章

  1. 智能实验室-全能优化(Guardio) 4.0.0.700 新春贺岁版
  2. 51Nod 1050 循环数组最大子段和
  3. 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简介
  4. 另辟蹊径:从其他角度去解决数据库问题
  5. 练字第一方案失败,转向第二方案
  6. 如何获取小程序前端代码
  7. 第六季 流放之路教程
  8. esxi01磁盘扩容_给EXSI虚拟机中linux硬盘扩容
  9. 重温《海龟交易法》:要尊重市场的规律
  10. IBM Spectrum LSF RTM
  11. C语言编程>第二十七周 ③ 请补充fun函数,该函数的功能是计算并输出下列多项式的值:
  12. 使用阿里云播放器禁止快进
  13. 一篇解析论文MapReduce
  14. Linux粘滞位简析
  15. 利用matlab从TXT中读数据1
  16. 记一次小程序接口本地可访问,真机不能访问的问题
  17. 2020年11月编程排行出炉,Java市场占有率仍第一
  18. Wow魔兽世界服务器搭建详细教程,魔兽世界服务器配置要求
  19. php 判断 小米 手机浏览器,华为、小米、OPPO和vivo手机浏览器发布自查整改公告...
  20. 看懂这些故事,你做人就很成功了

热门文章

  1. 最大二叉堆的建立以及最大堆排序
  2. 【PhotoScan精品教程】photoscan无法启动此程序,因为计算机中丢失cholmod.dll解决办法
  3. 高斯linux复制命令,高斯(Gaussian)软件linux下安装
  4. mac室内装潢设计软件:sweet home 3d中文版
  5. Corona渲染用炫云云渲染真好
  6. 记录一次Oo0代码混淆实现方法
  7. Micropython ESP32驱动CH455控制4位数码管
  8. Complete Guide to Digital Project Management 免积分下载
  9. VC++6.0显示cannot compile the file***:no compile tool is associated with ....或者cannot execute program
  10. 2019.5.7日第十二届河南省ICPC省赛的赛后感触