#include "string"
#include "iostream"
using namespace std;class Complex
{private:double real;   //实部double image;   //虚部
public:Complex(double r = 0, double i = 0){real = r;image = i;}~Complex(){}//用成员函数的方式实现string toString(){char result[100];sprintf(result, "(%lf) + i(%lf)\n", real, image);return string(result);}//用友元函数的方式实现friend string toString(Complex c){char result[100];sprintf(result, "(%lf) + i(%lf)\n", c.real, c.image);  //尽管不是成员函数,但是友元函数,可以直接访问私有成员return string(result);}//用友元函数的方式实现两个复数的加法friend Complex add(Complex c1, Complex c2){Complex c;c.image = c1.image + c2.image;c.real = c1.real + c2.real;return c;}
};int main()
{Complex c1(23, -3);cout << c1.toString();   //调用成员函数cout << toString(c1);   //调用友元函数Complex c2(-32, 7);Complex c3 = add(c1, c2);    //调用友元函数cout << toString(c3);
}

C++友元函数实现两个复数相加相关推荐

  1. (PTA)6-7 使用函数计算两个复数之积 (10分)

    若两个复数分别为:c ​1 ​​ =x ​1 ​​ +y ​1 ​​ i和c ​2 ​​ =x ​2 ​​ +y ​2 ​​ i,则它们的乘积为 c ​1 ​​ ×c ​2 ​​ =(x ​1 ​​ ...

  2. PTA 6-6 使用函数计算两个复数之积

    若两个复数分别为:c1​=x1​+y1​i和c2​=x2​+y2​i,则它们的乘积为 c1​×c2​=(x1​x2​−y1​y2​)+(x1​y2​+x2​y1​)i. 本题要求实现一个函数计算两个复 ...

  3. 4-3 使用函数计算两个复数之积 (10分)

    若两个复数分别为:c1=x1+y1ic_1=x_1 + y_1 ic​1​​=x​1​​+y​1​​i和c2=x2+y2ic_2=x_2 + y_2 ic​2​​=x​2​​+y​2​​i,则它们的乘 ...

  4. 设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符

    设计一个函数把两个数字相加.不得使用 + 或者其他算术运算符. 示例: 输入: a = 1, b = 1 输出: 2 提示: a, b 均可能是负数或 0     结果不会溢出 32 位整数 解题思路 ...

  5. C语言:实验5-1 使用函数计算两个复数之积.2021-07-23

    实验5-1 使用函数计算两个复数之积 (10 point(s)) 若两个复数分别为:c​1​​=x​1​​+y​1​​i和c​2​​=x​2​​+y​2​​i,则它们的乘积为 c​1​​×c​2​​= ...

  6. 两个复数相加减c语言编程,用c语言 如何编写两个复数的运算啊 都含有虚部 谢谢啊...

    匿名用户 1级 2006-04-17 回答 定义一个struct作为复数,然后分别定义加减剩除运算.可以增加一个函数printcomplex来在主函数中以数学的形式输出复数. typedef stru ...

  7. C++——运算符的重载---以成员函数方式重载---以友元函数方式重载

    一.运算符的重载 1.运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载.运算符仅仅是语法上的方便,它是另一种函 ...

  8. 运算符重载为类的友元函数

    运算符重载为类的友元函数 友元函数通过类的对象可以访问类的公有.保护和私有成员,也就是类的所有成员友元函数都能访问到.所以运算符重载为类的友元函数以后也可以访问类的所有成员. 与运算符重载为成员函数时 ...

  9. 友元实例:友元类及友元函数

    学习了c++这么久,一直没有对友元进行了解,据说友元不是特别好用(据说,不是我说的),因此直到今天才去了解.其实友元确实不是很常用,但友元功能确实很实用,它不但能够释放类中的非公有成员,同时还能保证了 ...

最新文章

  1. weblogic服务器部署的程序,如何直接通过IP访问(即URL中去掉工程名)
  2. 全球数据进入ZB时代,希捷如何让数据创造深价值?
  3. 热门 | Google Brain前员工深度盘点2017人工智能和深度学习各大动态
  4. Android事件处理--读书笔记
  5. It's highly recommended that you fix the library with 'execstack -c libfile', or link it with '-z
  6. 控制dcom程序使用端口_使用VS Code调试.net控制台应用程序的方法
  7. html设计动画小黄人,CSS3实现可爱的小黄人动画
  8. vmware workstation克隆linux后修改网卡为eth0方法
  9. 如何把GIT项目push到公司review服务器
  10. 导航菜单UI设计中的作用,优秀案例临摹起来!
  11. 基本DNS服务器的配置
  12. socketmq 设置队列大小_TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?...
  13. Linux 内存管理之 SLUB分配器(5):slub初始化过程
  14. MATLAB利用ode求解二阶微分方程
  15. 上海悠悠python培训视频教程
  16. 【官方原版】Bootstrap Tooltips
  17. 下载Macromedia FLASHPAPER
  18. 非负数的和与个数c语言编程,C语言习题中,编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和...
  19. jvm jni 及 pvm pybind11 大批量数据传输及优化
  20. 寒假学习计划统筹以及考研展望

热门文章

  1. 荒岛余生2java攻略_荒岛余生2时空探秘_荒岛余生2:时空探秘游戏心得与记录_安卓应用游戏下载- AppChina应用汇...
  2. 我的2019年计划清单
  3. hp服务器960g固态硬盘,阿斯加特AS 960G SSD测评,这么便宜的大容量SSD你敢要吗
  4. Java模拟微信抢红包
  5. 【成神之路】Http网络相关面试题
  6. JavaScript WebGL 使用图片疑惑点
  7. 力扣 2200. 找出数组中的所有 K 近邻下标
  8. MLOps极致细节:15. Azure ML数据集的上传(Azure Workspace DataStore Upload)与注册(Azure Dataset Register)
  9. 混合云的基本介绍,混合云主要有什么优缺点?
  10. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS