第6周项目6复制模板类
来源:互联网 发布:html标签保存到数据库 编辑:程序博客网 时间:2024/05/23 14:22
/*。*Copyright(c)2014,烟台大学计算机学院*All right reserved,*文件名:test.cpp*作者:毕玉堂*完成日期:2015年4月17日*版本号:v1.0*问题描述:*输入描述:*程序输出:*/#include <iostream>using namespace std;template <class T>class Complex{public: Complex() { real=0; imag=0; } Complex(T r,T i) { real=r; imag=i; } Complex Complex_add(Complex &c2); Complex Complex_red(Complex &c2); Complex Complex_mul(Complex &c2); Complex Complex_div(Complex &c2); void display();private: T real; T imag;};template <class T>Complex<T> Complex<T>::Complex_add(Complex<T> &c2)//加法运算{ Complex <T> c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;}template <class T>Complex<T> Complex<T>::Complex_red(Complex<T> &c2)//减法运算{ Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c;}template <class T>Complex<T> Complex<T>::Complex_mul(Complex<T> &c2)//乘法运算{ Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c;}template <class T>Complex<T> Complex<T>::Complex_div(Complex<T> &c2)//除法运算{ Complex 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;}template <class T>void Complex<T>::display(){ cout<<"("<<real<<","<<imag<<"i)"<<endl;}int main( ){ Complex<int> c1(3,4),c2(5,-10),c3,c7,c8,c9; //实部和虚部是int型 c3=c1.Complex_add(c2); cout<<"c1+c2="; c3.display( ); Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6; //实部和虚部是double型 c6=c4.Complex_add(c5); cout<<"c4+c5="; c6.display( ); //下面测试减法、乘法和除法 c7=c1.Complex_red(c2); cout<<"c1-c2="; c7.display(); c8=c1.Complex_mul(c2); cout<<"c1*c2="; c8.display(); c9=c1.Complex_div(c2); cout<<"c1/c2="; c9.display(); return 0;}
运行结果:
0 0
- 第6周项目6复制模板类
- 2015-第6周项目6-复制模板类(1)&(2)
- 2015-第6周项目6-复制模板类(3)
- 第6周项目6——复制模板类(1)
- 第6周项目6——复制模板类(2)
- 第五周项目 6 复制模板类(1,2)
- 第五周项目 6 复制模板类(3)
- 第6周项目1深复制
- 第6周项目1.1深复制
- 第6周项目6--复数模板类-友元
- 第6周项目6-2,3复数模板类
- 第6周项目6-3复数模板类
- 第6周项目6-复数模板类
- 第6周项目6-复数模板类(1)
- 第6周项目6-复数模板类(2)
- 第5周-项目6-复数模板类
- 第5周项目6-复数类模板
- 第6周项目5复数模板类
- 【js&css文件压缩】jsMin文件压缩及服务器配置 -3
- 第6周项目5友元类
- java泛型(一)、泛型的基本介绍和使用
- 线性判别分析LDA
- Gitlab 架构---nginx
- 第6周项目6复制模板类
- Linux C 错误处理 warning: incompatible implicit declaration of built-in function ‘exit’
- hdu1671 字典树
- 课表图片
- C++ 前置操作符与后置操作符
- xml解析和序列化
- 剑指offer--二叉树的下一个结点
- 完整Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站
- Linux中fork()函数详解