第7周实验报告任务3
来源:互联网 发布:seo如何快速k掉网站 编辑:程序博客网 时间:2024/06/10 21:54
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:复数* 作 者: 郭岩岩 * 完成日期:2012 年4月 2日 * 版 本 号: vc.1 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: *程序头部的注释结束 */ #include <iostream>using namespace std;template<class numtype> class Complex {public:Complex( ){numtype real=0;numtype imag=0;} Complex(numtype r,numtype i){real=r;imag=i;} Complex complex_add(const Complex<numtype> &c2);Complex Complex_reduce(const Complex<numtype> &c2); Complex Complex_multiplication(const Complex<numtype> &c2); Complex Complex_division(const Complex<numtype> &c2);void display( ); private:numtype real; numtype imag; };template<class numtype> Complex<numtype> Complex<numtype>::complex_add(const Complex<numtype> &c2){Complex<numtype> c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;}template<class numtype> void Complex<numtype>::display( ) {cout<<"("<<real<<","<<imag<<"i)"<<endl;}template<class numtype>Complex<numtype> Complex<numtype>::Complex_reduce(const Complex<numtype> &c2){ Complex<numtype> c; c.real=real-c2.real;c.imag=imag-c2.imag;return c;}template<class numtype>Complex<numtype> Complex<numtype>::Complex_multiplication(const Complex<numtype> &c2){Complex<numtype> c;c.real=real*c2.real-imag*c2.imag;c.imag=real*c2.imag+imag*c2.real;return c;}template<class numtype> Complex<numtype> Complex<numtype>::Complex_division(const Complex<numtype> &c2){Complex<numtype> c;c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);return c;}int main( ){Complex<int> c1(-12,16),c2(5,-10),c3; c3=c1.complex_add(c2); cout<<"c1+c2="; c3.display( );c3=c1.Complex_reduce(c2);cout<<"c1-c2=";c3.display(); c3=c1.Complex_multiplication(c2);cout<<"c1*c2=";c3.display(); c3=c1.Complex_division(c2);cout<<"c1/c2=";c3.display();Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6; c6=c4.complex_add(c5); cout<<"c4+c5="; c6.display( );c6=c4.Complex_reduce(c5);cout<<"c4-c5=";c6.display(); c6=c4.Complex_multiplication(c5);cout<<"c4*c5=";c6.display(); c6=c4.Complex_division(c5);cout<<"c4/c5=";c6.display();system("pause");return 0;}
上机感言:
经验积累:如果类模板中的成员函数是在类中定义的写成numtype Complex complex_add(const Complex<numtype> &c2)
而在类外应写成template<class numtype>
Complex<numtype> Complex<numtype>::complex_add(const Complex<numtype> &c2)
- 第7周实验报告任务3
- 第7周实验报告任务一
- 第4周实验报告任务3
- 第5周实验报告任务3
- 第6周实验报告任务3
- 第10周实验报告任务3
- 第12周实验报告任务3
- 第12周实验报告任务3
- 第13周实验报告任务3
- 第15周实验报告任务3
- 第16周实验报告任务3
- 第4周实验报告任务2
- 第4周实验报告任务4
- 第5周实验报告任务一
- 第5周实验报告任务1.3
- 第5周实验报告任务1.4
- 第5周实验报告任务2
- 第5周实验报告任务4
- 【 类 对象 方法 属性 】
- 散列表的插入和检索(c语言实现)
- Barycentric Coordinates of Tetrahedron (计算四面体的重心坐标)
- C语言中堆和栈的区别
- Android ExecutorService线程池
- 第7周实验报告任务3
- Android中使用SoftReference缓存图片对象
- 解决Android模拟器显示太大的问题
- linux文件系统的系统分析--(三)rootfs的安装
- OpenJudge 4043:GPA排名系统 解题报告&AC代码
- 移植AT91Bootstrap1.15
- java继承中的public 和private 小试
- 单片机百问百解(PIC HT ST C51)
- MyEclipse8.6及其以下版本注册机-MyEclipse(8.6,8.5,8.0,7.5,7.0,6.5,6.0...)的注册码生成代码