第七周任务三:复数类
来源:互联网 发布:mysql exists 代替 in 编辑:程序博客网 时间:2024/05/17 08:52
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: * 作 者: 田庆 * 完成日期: 年 4 月 2 日* 版 本 号: * 对任务及求解方法的描述部分* 输入描述: * 问题描述:用类模板定义复数类实现乘除加减法 * 程序输出: * 程序头部的注释结束*/#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; }
类模板的定义中每次都要加上template<class numtype>。一开始没加老给我提示使用类模板需要模板参数列表什么还没在complex中声明,后来才知道还要多这一举啊!又有收获啦!!
- 第七周任务三 类模板 复数
- 第七周任务三:复数类
- 第七周 任务三(完整版) 复数的加减乘除
- 第七周上机任务项目4-复数模板类
- 2013第七周上机任务【项目4-复数模板类】
- 第七周 任务三
- 第七周 任务三
- 第七周 任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三
- 第七周任务三:类模板
- 第七周任务(三)
- 第七周项目4:复数模板类
- Hibernate中one-to-one的深入学习
- Struts2页面到action的三种传值方式
- Android基础教程之---AppWidget讲解1
- 第七周实验报告(二)
- Android 教程 翻译 1 Activities 活动
- 第七周任务三:复数类
- 第七周任务1
- 第七周任务二(利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数)
- 第七周任务1含有静态数据成员和成员函数的Time类
- 第七周 任务三
- Linux/Unix中的基本系统数据类型
- 第七周任务(二)
- 将数组划分为两个元素和最接近的子数组
- 第七周作业3