课堂小练习 设计、定义并实现Complex类
定义一个负数类Complex使得下面的代码能够工作。(课本P145)
#include<iostream>
#include<cmath>
using namespace std;
class Complex{
public:
Complex(double n_real,double n_imaginary);
Complex(Complex &c1);
void add(Complex &c2);
double mod();
void show();
private:
double real,imaginary;
};
Complex::Complex(double n_real=,double n_imaginary=):real(n_real),imaginary(n_imaginary){
}
Complex::Complex(Complex &c1){
real=c1.real;
imaginary=c1.imaginary;
}
void Complex::add(Complex &c2){
real+=c2.real;
imaginary+=c2.imaginary;
}
double Complex::mod(){
return sqrt(real*real+imaginary*imaginary);
}
void Complex::show(){
if(imaginary>)
cout<<real<<"+"<<imaginary<<"i"<<endl;
else
cout<<real<<imaginary<<"i"<<endl;
}
int main(){
Complex c1(,);
cout<<"c1=";
c1.show();
Complex c2(4.5);
cout<<"c2=";
c2.show();
Complex c3(c1);
cout<<"c3=";
c3.show();
c1.add(c2);
cout<<"c1+c2=";
c1.show();
cout<<"|c1|=";
cout<<c1.mod()<<endl;
return ;
}
运行结果如下

课堂小练习 设计、定义并实现Complex类的更多相关文章
- 设计、定义并实现Complex类
设计.定义并实现Complex类 #include <iostream> #include <cmath> using namespace std; class MyCompl ...
- 面向对象程序设计(C++)_作业一_设计、定义并实现Complex类
源代码: 运行结果:
- Complex类的设计与改进
Complex类 源码 #include <cmath> #include <iomanip> #include <iostream> #include <s ...
- 微信小程序 - 深度定义骨架屏(提示)
此举每个页面必须创建对应的css样式,比较麻烦(但非常准确),推荐使用组件化的skeleton组件 原理很简单:知晓一下this.setData原理,就OK了,可能大家会因此了解到全屏加载loadin ...
- 【c++ primer, 5e】设计Sales_data类 & 定义改进的Sales_data类
[设计Sales_data类] 1.考虑Sales_data类应该有那些接口. isbn.combine.add.read.print... 2.考虑如何使用这些接口. Sales_data tota ...
- java实验(三)——课堂小测
这次的课堂小测是用以前生成的那些四则运算的代码,然后将这些题目写到一个文件中,再通过这个文件读取题目的信息,每读入一个答案的时候,遇到星号的时候,等待用户输入然后判断输入的答案是否正确,然后输出小一道 ...
- 经纬坐标(BLH)数据创建.kml文件小工具设计 Java版
技术背景 KML,是标记语言(Keyhole Markup Language)的缩写,最初由Keyhole公司开发,是一种基于XML 语法与格式的.用于描述和保存地理信息(如点.线.图像.多边形和模型 ...
- 课堂练习Complex类
Complex类 #include<iostream> #include<cmath> using namespace std; class Complex { public: ...
- day24:面向对象设计与面向对象编程、类和对象
一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ...
随机推荐
- centos下安装nginx并部署angular应用
注意:直接yum安装的nginx有问题,不能直接安装,因为centos默认库里面没有nginx.如果安装过程中出现一些文件夹或者文件找不到的话,应该是你的nginx的版本没有安装对.最效率的办法是删除 ...
- Flutter内置ICON
由于有时打不开flutter的icon官网 https://material.io/tools/icons/?style=baseline 截图存下icon 如果看不清 Ctrl + 恢复Ctr ...
- 【HTML+CSS】在书写代码时的便捷应用
创建多个相同元素: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- 17年iPhone炫酷铃声,mp3、m4r格式下载
下载链接: https://pan.baidu.com/s/11aj9dBm9upNWpE5jWBgYog
- Sublime Text 3 安装简记
1.下载:( Sublime Text Version 3.1.1 Build 3176 ) https://www.sublimetext.com/3 2.安装Package Control: &q ...
- nodejs+express创建一个简单的服务器
//首先安装express //1.引入express const express = require('express'); //2.创建服务器对象 let server = express(); ...
- Nacos集群环境的搭建与配置
Nacos集群环境的搭建与配置 集群搭建 一.环境: 服务器环境:CENTOS-7.4-64位 三台服务器IP:192.168.102.57:8848,192.168.102.59:8848,192. ...
- Docker 基本核心原理
Docker内核知识 namespace资源隔离 namespace的6项隔离 NameSpace 系统调用参数 隔离内容 UTS CLONE_NEWUTS 主机名与域名 IPC CLONE_NEWI ...
- Kubernetes实战:目录
一.Docker实战 Docker: 基础介绍 [一] Docker:Docker 性质及版本选择 [三] Docker:网络及数据卷设置 [四] Docker:手动制作镜像 [五] Docker:d ...
- Tomcat系列(7)——Tomcat类加载机制
1. 核心部分 1. 类加载器: 通过一个类的全限定名来获取描述此类的二进制字节流. 对于任意一个类,都需要由加载他的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一 ...