第七周实验报告(三)
来源:互联网 发布:淘宝达人写作 编辑:程序博客网 时间:2024/06/04 19:53
* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:实现了一个复数类* 作 者:齐艳红 * 完成日期: 2011年 4月 3日*版 本 号: * 对任务及求解方法的描述部分 *问题描述:通过模板类的技术手段,设计Complex,使实部和虚部的类型为定义对象时用的实际类型。 * 程序输出:* 程序头部的注释结束*/#include <iostream> using namespace std; template<class numtype>//定义类模板 class Complex { public: Complex( ){real=0;imag=0;} Complex(numtype r,numtype i){real=r;imag=i;} Complex complex_add(Complex &c2); //加法 Complex complex_sub(Complex &c2);//减法 Complex complex_div(Complex &c2);//除法 Complex complex_mult(Complex &c2);//乘法 void display( ); private: numtype real; numtype imag; }; //定义加法 template<class numtype> Complex<numtype> Complex<numtype>::complex_add(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_sub(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_div(Complex<numtype> &c2) { Complex<numtype> c; c.real = (real*c2.real + imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag = (-real*c2.imag + imag*c2.real)/(c2.real*c2.real+c2.imag*c2.imag); return c; } //定义乘法 template<class numtype> Complex<numtype> Complex<numtype>::complex_mult(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> void Complex<numtype>::display( ) { cout<<"("<<real<<","<<imag<<"i)"<<endl; } int main( ) { Complex<int> c1(3,4),c2(5,-10),c3,c7; c3=c1.complex_add(c2); cout<<"c1+c2="; c3.display( ); c7=c1.complex_sub(c2); cout<<"c1-c2="; c7.display(); Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6,c8; c6=c4.complex_div(c5); cout<<"c4/c5="; c6.display( ); c8=c4.complex_mult(c5); cout<<"c4*c5="; c8.display( ); system("pause"); return 0; }
总结:说实话,这个程序的过程还不是很了解,这个报告是通过向同学求助完成的,有些细节问题还需弄清楚,虽然现在还有点问题,但我相信回去后再仔细琢磨琢磨也应该没问题的!呵呵····
- 第七周实验报告(三)
- 第七周实验报告(三)
- 第七周实验报告三
- 第七周实验报告三
- C++程序设计实验报告(五十)---第七周任务三
- 第七周实验报告(任务三)【模板类】
- 第七周实验报告(三)设计complex模板
- 第七周实验报告 任务三
- 《第七周实验报告任务三》
- 第七周实验报告(1)
- 第七周实验报告(二)
- 第七周实验报告(一)
- 第七周实验报告(二)
- 第七周实验报告(一)
- 第七周实验报告(1)
- 第七周实验报告(2)
- 第七周实验报告(一)
- 第七周实验报告(2)
- 使用UltraEdit实现从UNIX文件到DOS文件的批量转换
- OAF学习笔记-开发环境配置
- Android核心分析之四 ---手机的软件形态 .
- Android 核心分析 之四 -----基本空间划分 .
- 把Three20添加到xcode4的工程中
- 第七周实验报告(三)
- 静态局部变量,静态全局变量
- 第七周实验报告(任务一)【静态成员函数的使用】
- 2012C++程序设计实验报告【7.1】
- 反编译
- xrgsu - 锐捷在linux系统下的认证配置
- Android 核心分析 之五-----IPC框架分析 Binder,Service,Service manager .
- 第七周任务二 友元函数
- 动态存储方式和静态存储方式