设计、定义并实现Complex类
设计、定义并实现Complex类
#include <iostream>
#include <cmath>
using namespace std;
class MyComplex
{
public:
MyComplex(double aa=,double bb=);
MyComplex(MyComplex &pp);
void add(MyComplex tt);
void show();
double qumo();
private:
double reality;
double imaginary;
};
MyComplex::MyComplex(double aa,double bb)
{
reality=aa;
imaginary=bb;
}
MyComplex::MyComplex(MyComplex &pp)
{
reality=pp.reality;
imaginary=pp.imaginary;
}
void MyComplex::add(MyComplex tt)
{
reality+=tt.reality;
imaginary+=tt.imaginary;
}
void MyComplex::show()
{
cout<<reality<<"+"<<imaginary<<"i"<<endl;
}
double MyComplex::qumo()
{
double mo;
mo=sqrt(reality*reality+imaginary*imaginary);
return mo;
}
int main ()
{
double result;
MyComplex c1(,);
MyComplex c2(4.5);
MyComplex c3(c1);
c1.add(c2);
c1.show();
result=c3.qumo();
cout<<result<<endl;
return ;
}

输出结果为复数c1和c2的和,以及c3的模数。
由于这个类里的加法函数和常规习惯有出入,所以修改为下面的重载函数形式:
#include <iostream>
#include <cmath>
using namespace std;
class MyComplex
{
public:
MyComplex(double aa=,double bb=);
MyComplex(MyComplex &pp);
void add(MyComplex tt,MyComplex rr);
void add(MyComplex tt);
void show();
double qumo();
private:
double reality;
double imaginary;
};
MyComplex::MyComplex(double aa,double bb)
{
reality=aa;
imaginary=bb;
}
MyComplex::MyComplex(MyComplex &pp)
{
reality=pp.reality;
imaginary=pp.imaginary;
}
void MyComplex::add(MyComplex tt,MyComplex rr)
{
reality=tt.reality+rr.reality;
imaginary=tt.imaginary+rr.imaginary;
}
void MyComplex::add(MyComplex tt)
{
reality+=tt.reality;
imaginary+=tt.imaginary;
}
void MyComplex::show()
{
cout<<reality<<"+"<<imaginary<<"i"<<endl;
}
double MyComplex::qumo()
{
double mo;
mo=sqrt(reality*reality+imaginary*imaginary);
return mo;
}
int main ()
{
double result;
MyComplex c1(,);
MyComplex c2(4.5);
MyComplex c3(c1);
MyComplex c4;
c4.add(c1,c2);
c1.add(c2);
c4.show();
c1.show();
result=c3.qumo();
cout<<result<<endl;
return ;
}

一种是把结果保存在加数c1中,另一种是保存在另一个复数对象c4中。
实验总结:
(1)当要求的操作方式可以改进时可以尝试进行改进。
(2)成员函数的形参个数 是否需要默认形参值 是否需要返回值 返回值类型 都需要结合函数的作用适当选择。
设计、定义并实现Complex类的更多相关文章
- 课堂小练习 设计、定义并实现Complex类
定义一个负数类Complex使得下面的代码能够工作.(课本P145) #include<iostream> #include<cmath> using namespace st ...
- 面向对象程序设计(C++)_作业一_设计、定义并实现Complex类
源代码: 运行结果:
- Complex类的设计与改进
Complex类 源码 #include <cmath> #include <iomanip> #include <iostream> #include <s ...
- 【c++ primer, 5e】设计Sales_data类 & 定义改进的Sales_data类
[设计Sales_data类] 1.考虑Sales_data类应该有那些接口. isbn.combine.add.read.print... 2.考虑如何使用这些接口. Sales_data tota ...
- day24:面向对象设计与面向对象编程、类和对象
一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ...
- 用C++设计一个不能被继承的类(用私有构造函数+友元函数)
题目:用C++设计一个不能被继承的类. 分析:这是Adobe公司2007年校园招聘的最新笔试题.这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目. 在Java中定义了关键字f ...
- 选做题:设计并实现一个Book类
目录 题目分析 设计思路 具体代码 测试代码 运行截图 参考资料 题目分析 题目内容 0.设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期 1.这些数据 ...
- 课堂练习Complex类
Complex类 #include<iostream> #include<cmath> using namespace std; class Complex { public: ...
- ItcastOA_设计BaseDao_设计DAO接口和实现类_写DAO实现类中的方法内容
3. 基础功能 3.1. 设计BaseDao接口与BaseDaoImpl类 每个实体都应有一个对应的Dao,他封装了对这个实体的数据库操作.例 实体Dao接口实现类 ================= ...
随机推荐
- how2heap学习笔记
github源代码地址 这里只分析glibc2.25堆分配的特性,为了方便调试编译时使用 gcc -g -no-pie <input_file_name> -o <output_fi ...
- Mockito框架入门教程(一)
官网: http://mockito.org API文档:http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html 项目源码:htt ...
- 从GitHub下载demo时遇到的依赖问题
从GitHub上使用download zip下载时,经常遇到一些依赖工程没有一起下载,如果额外手动下载,配置起来也相当费事,其实,标准的方法是使用以下命令下载这样的demo. git clone -- ...
- select获取选中的option(包含value和text,重点是text怎么获取)
简单描述:后台需要获取到select标签选择的内容,也就是text,该怎么取呢?很简单. 代码: //hml代码<div class="col-md-6"> <l ...
- pl/sql学习(6): 引号/程序调试/列中的字符串合并/正则表达式
有关自治事务的问题: https://www.cnblogs.com/princessd8251/p/4132649.html 我在plsql development学习中遇到的常见问题: (一) 引 ...
- Python学习笔记八
类的高级用法 多态: 在其他语言,使用的是类的继承. 在python中,不需要指定数据类型. 基于TCP协议的socket通信实现: 类似于打电话的情景. 服务端: 1.买手机 2.插卡 3.开机 ...
- [转] vue之computed和watch
计算属性 computed 侦听器or观察者 watch 一直以来对computed和watch一知半解,用的时候就迷迷糊糊的,今天仔细看了看文档,突然茅塞顿开,原来就是这么简单啊: computed ...
- Android+openCV 的坑
之前一直用IntelliJ IDEA 导入 opencv_android_sdk 的 java 包,在最后一步finish时,始终出错. 后来重新安装Android Studio 重复以上步骤,能顺利 ...
- 程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,本人已部分修改
程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,主页本人已部分修改,感谢程序猿大神wuxia2001和hackerzhou的开源,感谢这两位大神! 视频结果展示 ...
- 下面为初学者分享一下SQL 数据库学习资料
一.基础 1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份 ...