设计、定义并实现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类的更多相关文章

  1. 课堂小练习 设计、定义并实现Complex类

    定义一个负数类Complex使得下面的代码能够工作.(课本P145) #include<iostream> #include<cmath> using namespace st ...

  2. 面向对象程序设计(C++)_作业一_设计、定义并实现Complex类

    源代码: 运行结果:

  3. Complex类的设计与改进

    Complex类 源码 #include <cmath> #include <iomanip> #include <iostream> #include <s ...

  4. 【c++ primer, 5e】设计Sales_data类 & 定义改进的Sales_data类

    [设计Sales_data类] 1.考虑Sales_data类应该有那些接口. isbn.combine.add.read.print... 2.考虑如何使用这些接口. Sales_data tota ...

  5. day24:面向对象设计与面向对象编程、类和对象

    一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ...

  6. 用C++设计一个不能被继承的类(用私有构造函数+友元函数)

    题目:用C++设计一个不能被继承的类. 分析:这是Adobe公司2007年校园招聘的最新笔试题.这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目. 在Java中定义了关键字f ...

  7. 选做题:设计并实现一个Book类

    目录 题目分析 设计思路 具体代码 测试代码 运行截图 参考资料 题目分析 题目内容 0.设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期 1.这些数据 ...

  8. 课堂练习Complex类

    Complex类 #include<iostream> #include<cmath> using namespace std; class Complex { public: ...

  9. ItcastOA_设计BaseDao_设计DAO接口和实现类_写DAO实现类中的方法内容

    3. 基础功能 3.1. 设计BaseDao接口与BaseDaoImpl类 每个实体都应有一个对应的Dao,他封装了对这个实体的数据库操作.例 实体Dao接口实现类 ================= ...

随机推荐

  1. codeforces 1017C - Cloud Computing 权值线段树 差分 贪心

    https://codeforces.com/problemset/problem/1070/C 题意: 有很多活动,每个活动可以在天数为$[l,r]$时,提供$C$个价格为$P$的商品 现在从第一天 ...

  2. java的官网下载(如有不懂,可以去我发的视频网站,那里面有详细过程)

    https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html java 9的下载 ...

  3. P2866 [USACO06NOV]糟糕的一天Bad Hair Day--单调栈

    P2866 [USACO06NOV]糟糕的一天Bad Hair Day 题意翻译 农夫约翰有N (N \leq 80000)N(N≤80000)头奶牛正在过乱头发节.每一头牛都站在同一排面朝东方,而且 ...

  4. 网络流24题——分配问题 luogu 4014

    题目链接:这里 本题是一个典型的费用流问题,可以作为费用流建图模板使用 首先看到,每个人只能做一件工作,每件工作只能做一次,一个人做某件工作有一定的收益 那么我们建立一个超级源点st和超级终点ed,然 ...

  5. 金蝶K3 WISE BOM多级展开_BOM成本表

    /****** Object: StoredProcedure [dbo].[pro_bobang_BOMCost] Script Date: 07/29/2015 16:09:11 ******/ ...

  6. 利用fastjson解析json并通过js&ajax实现页面的无跳转刷新

    1.json是一种优秀的数据格式,在移动开发和web开发中经常用到,本例中通过一个小案例讲解如何通过alibaba的开源框架fastjson来解析jason数据格式并通过js实现无跳转刷新 2,新建一 ...

  7. scrapy_redis 相关: 查看保存的数据

    0.参考资料 https://redis.io/topics/data-types-intro An introduction to Redis data types and abstractions ...

  8. hdu5707-Combine String(DP)

    Problem Description Given three strings a, b and c , your mission is to check whether c is the combi ...

  9. C语言中使用bool

    声明 C语言中是没有bool类型的. 使用方法 参考: https://stackoverflow.com/q/1921539.

  10. JavaScript(六)

    定时器 定时器在javascript中的作用1.制作动画2.异步操作3.函数缓冲与节流 定时器类型及语法 /* 定时器: setTimeout 只执行一次的定时器 clearTimeout 关闭只执行 ...