###复数加减(友元的应用)声明一个复数类CComplex(类私有数据成员为double型的real和image)定义构造函数,用于指定复数的实部与虚部。

news/2025/2/18 10:46:24/

###复数加减(友元的应用)

  1. 声明一个复数类CComplex(类私有数据成员为double型的real和image)

  2. 定义构造函数,用于指定复数的实部与虚部。

  3. 定义成员函数,调用该函数时,以格式real+image i的格式输出当前对象(当虚部为正数时,实部虚部中间用+号连接,当虚部为复数时,实部虚部用-号连接)。

  4. 编写加法友元函数,以复数对象c1, c2为参数,求两个复数对象之和(实部虚部分别相加)。

  5. 编写减法友元函数,以复数对象c1, c2为参数,求两个复数对象的差(实部虚部分别相减)

输入格式:
输入有两行:
第一行是复数c1的实部与虚部,以空格分隔;
第二行是复数c2的实部与虚部,以空格分隔。

输出格式:
输出共四行:
第一行是c1;
第二行是c2;
第三行是c1与c2之和;
第四行是c1与c2之差;

函数接口定义:

在这里描述类定义

class CComplex{...}

裁判测试程序样例:

int main()

{

  double r1,r2,i1,i2;

    cin>>r1>>i1;

    cin>>r2>>i2;

    CComplex c1(r1,i1),c2(r2,i2),c3,c4;

    c1.display();

    c2.display();

    c3=add(c1,c2);

    c3.display();

    c4=    sub(c1,c2);

    c4.display();

}

/* 请在这里填写答案 */

####输入样例:

10 20

30 40

输出样例:

10+20i

30+40i

40+60i

-20-20i


#include  <iostream>
using  namespace  std;class CComplex
{
public:CComplex(){}CComplex(double r,double i):real(r),image(i){}friend CComplex add(CComplex x,CComplex y);friend CComplex sub(CComplex x,CComplex y);void display(){if(image>0)cout<<real<<"+"<<image<<"i"<<endl;else if(image<0)cout<<real<<image<<"i"<<endl;elsecout<<real<<endl;}
private:double real;double image;
};CComplex add(CComplex x,CComplex y)
{CComplex z;z.real = x.real + y.real;z.image = x.image + y.image;return z;
}CComplex sub(CComplex x,CComplex y)
{CComplex z;z.real = x.real - y.real;z.image = x.image - y.image;return z;
}int  main()
{double  r1,r2,i1,i2;cin>>r1>>i1;cin>>r2>>i2;CComplex  c1(r1,i1),c2(r2,i2),c3,c4;c1.display();c2.display();c3=add(c1,c2);c3.display();c4=        sub(c1,c2);c4.display();
}


http://www.ppmy.cn/news/63154.html

相关文章

使用NineData定制企业级数据库规范

1. 为什么需要数据库规范&#xff1f; 在企业级应用中&#xff0c;数据库是非常重要的一部分&#xff0c;它们存储着公司的核心数据&#xff0c;包括客户信息、订单、产品信息等等。如果这些数据没有得到妥善的管理&#xff0c;那么就会导致数据不一致、数据丢失、数据泄露等问…

基于springboot基于Java的超市进销存系统

开发技术与环境配置 以Java语言为开发工具&#xff0c;利用了当前先进的springboot框架&#xff0c;以MyEclipse10为系统开发工具&#xff0c;MySQL为后台数据库&#xff0c;开发的一个超市进销存系统。 SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring4.…

第11届蓝桥杯国赛真题剖析-2020年10月31日Scratch编程初中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第129讲。 第11届蓝桥杯Scratch国赛真题&#xff0c;这是2020年10月31日举办的全国总决赛&#xff0c;由于疫情影响&am…

第三十三章 Unity Mecanim动画系统(下)

本章节&#xff0c;我们继续讲解Unity的 Mecannim 动画系统。在上一章节中&#xff0c;我们设置了动画过渡&#xff0c;但是还没有为这些动画过渡设置过渡条件。这个过渡条件需要在“Animator”窗口中设置。这个窗口的左边是用来编辑“动画层”和“动画参数”的。这里的“动画参…

java中最流行的26道面试题

目录 1什么是 Java 中的多态性&#xff1f;请举例说明。2.请解释 Java 中的反射机制是什么以及如何使用它&#xff1f;3.什么是 Java 中的抽象类和接口&#xff1f;它们有什么区别&#xff1f;4.请解释 Java 中的继承是什么以及如何使用它&#xff1f;5.什么是 Java 中的包&…

如何更改Windows 10操作系统的默认字体

作为一名计算机用户&#xff0c;我们都知道字体对于电脑的使用体验有着至关重要的影响。因此&#xff0c;在更新到Windows 10操作系统后&#xff0c;我们都希望能够更改默认的字体以获得更好的阅读和视觉效果。那么&#xff0c;我们应该如何操作呢&#xff1f; 首先&#xff0c…

pthread多线程

pthread是linux下C语言执行多线程操作的基础&#xff0c;操作多线程的操作全部在pthread.h头文件中&#xff0c;跟线程密切相关的操作包括创建、退出以及主线程的等待。 一、创建线程 int pthread_create(pthread_t* thread,pthread_attr_t* attr,void* (*start_routine)(voi…

TCP三次握手

TCP三次握手 文章目录 TCP三次握手1. TCP三次握手过程和状态变迁1. 准备工作2. 进行连接 2. 能把三次握手改为两次握手吗&#xff1f;3. 改为两次握手会出现什么后果&#xff1f;4. 改为四次握手行不行&#xff1f;5. TCP第三次握手失败了怎么办&#xff1f;6. 三次握手是否可以…