首页 > 其他分享 >复数类的操作

复数类的操作

时间:2023-04-18 22:36:06浏览次数:31  
标签:real image Complex 复数 c2 操作 c1

一、问题描述。

二、设计思路

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

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

3、定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。

4、定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。

5、编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。

6、主程序实现:

(1)读入两个实数,用于初始化对象c1。

(2)读入两个实数,用于初始化对象c2。

(3)计算c1与c2相加结果,并输出。

(4)计算c2的相反数与c1相加结果,并输出。

三、代码实现。

#include<iostream>

#include<iomanip>
#include<cmath>

using namespace std;
class Complex
{
private:
double real;
double image;
public:
Complex(double x = 0, double y = 0)
{
Complex c(real, image);
c.real = x;
c.image = y;
}

Complex qufan( )
{
Complex c(0,0);
c.real = - real;
c.image = -image;
return c;
}
void Print()
{
cout << "(" << real << "," << image << ")" << endl;
}
friend Complex jia(Complex c1,Complex c2)
{
Complex c(0,0);
c.real = c1.real + c2.real;
c.image = c1.image + c2.image;
return c;
}
void set()
{
cin >> real >> image;
}
};
int main()
{
Complex c1, c2;
c1.set();
c2.set();
Complex c = jia(c1, c2);
c.Print();
Complex d = c2.qufan();
Complex e = jia(c1, d);
e.Print();
c2.Print();
}

 

标签:real,image,Complex,复数,c2,操作,c1
From: https://www.cnblogs.com/luoqingci/p/17331438.html

相关文章

  • 【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操
    问题描述在AzureAppService的门户上LogStream日志无输出,需要如何操作让其输出ApplicationLogs呢?如下图所示:问题解答请注意,上图中提示说:Applicationlogsareswitchedoff. YoucanturnthemonusingtheAppServiceLogsSettings.应用日志关闭,可以通过AppServiceL......
  • Linux的操作系统网络模块
    Linux操作系统的网络模块是负责网络通信的核心部分。它通过实现各种协议和算法,使得计算机能够在网络中进行数据交换和通信。网络模块主要包括以下几个方面的功能:(1)IP协议栈:负责处理网络层的数据包,实现IP地址的分配、路由选择等功能。IP协议栈是网络模块中最基本的部分,它负责处理......
  • CH58xFLASH操作
    一、描述读:从FLASH将数据赋值给buff;写:从buff将数据赋值给FLASH;DataFlash特点:擦/ERASE写/READ读/WRITE0.25KB(的倍数)/4KB(的倍数)1Byte/多个Byte/256Byte(的倍数,best)1Byte/多ByteCodeFlash特点:擦/ERASE写/READ读/WRITE4KB(的倍数)4Byte4Byte/256Byte(的倍......
  • Linux下Mysql数据库的基础操作
    (Linux下Mysql数据库的基础操作)一、Mysql数据介绍Mysql数据库是一种关系型数据库管理系统,具有的优点有体积小、速度快、总体成本低,开源,可移植性(跨平台,在不同系统中使用),可以和开发语结合,属于轻量级数据库。二、数据库相关术语介绍1.数据库相关名词数据库:database表:table......
  • 4/18打卡 复数的输入输出和加减乘除重载
    classComplex{doublereal;doubleimag;public:friendistream&operator>>(istream&is,Complex&c);friendostream&operator<<(ostream&os,constComplex&a);Complex(){real=0;......
  • stm32文件系统读写操作调试总结
    一问题最近使用到了文件系统的读写,中间遇到了一些问题值得深思。 二源码解析创建文件:FRESULTres;do{sprintf(filename,"/sensor_signal/sensor_%d.bin",file_num++);mprintf("filenameis:%s\n\r",filename);res=f_open(&file,fi......
  • 使用bat操作替换XML文件的字符串
    使用bat脚本,替换xml的字符串,并且生成一个新文件@echooffsetlocalenabledelayedexpansionsetold_str=123setnew_str=456setinput_file=123.xmlsetoutput_file=456.xmlset"file_content="for/f"delims="%%ain(%input_file%)do(set"line......
  • Linux操作系统网络模块
    Linux操作系统的网络模块是负责网络通信的核心部分。它通过实现各种协议和算法,使得计算机能够在网络中进行数据交换和通信。网络模块主要包括以下几个方面的功能:(1)IP协议栈:负责处理网络层的数据包,实现IP地址的分配、路由选择等功能。IP协议栈是网络模块中最基本的部分,它负责处理......
  • Redis Linux环境 安装,卸载,启动,通用名令,数据结构,字符串类型操作
    目录Redis高级Linux下安装redis卸载教程redis启动方式1.在redis目录下的src文件路径下2.动态参数启动3.配置文件启动客户端连接命令配置文件redis通用命令redis数据结构Redis字符串类型操作redis单线程为什么这么快Redis高级速度快:10wops(每秒10w读写),数据存在内存中,c语言实现,单......
  • 使用了enabled_PDBs_on_standby参数后,主库新增pdb后从库的操作
    环境:OS:Centos7DB:12.2.0.1拓扑:1主1从的dataguard 1.从库查看参数enabled_PDBs_on_standbySQL>showparametersenabled_PDBs_on_standbyNAMETYPEVALUE--------------------------------------------------------------......