第七周实验报告(三)
来源:互联网 发布:linux vim 颜色配置 编辑:程序博客网 时间:2024/06/05 07:22
通过类模板的技术手段,设计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_cut(Complex &c2);Complex complex_cheng(Complex &c2);Complex complex_chu(Complex &c2);Complex display( ); private:numtype real; numtype imag; };template <class numtype>Complex<numtype> Complex<numtype>::complex_add(Complex<numtype> &c2) {Complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;}template <class numtype>Complex<numtype> Complex<numtype>::complex_cut(Complex<numtype> &c2){Complex c;c.real=real-c2.real;c.imag=imag-c2.imag;return c;}template <class numtype>Complex<numtype> Complex<numtype>::complex_cheng(Complex<numtype> &c2){Complex<numtype> c; c.real = real * c2.real - imag * c2.imag; c.imag = imag * c2.real + real * c2.imag; return c; }template <class numtype>Complex<numtype> Complex<numtype>::complex_chu(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>::display( ) {cout<<"("<<real<<","<<imag<<"i)"<<endl;}int main( ){ Complex<int> c1(3,4),c2(5,-10),c3; c3=c1.complex_add(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( );c3=c1.complex_cut(c2);cout<<"c1-c2=";c3.display();c6=c4.complex_cut(c5);cout<<"c4-c5=";c6.display();c3=c1.complex_cheng(c2);cout<<"c1*c2=";c3.display();c6=c4.complex_cheng(c5);cout<<"c4*c5";c6.display();c3=c1.complex_chu(c2);cout<<"c1/c2=";c3.display();c6=c4.complex_chu(c5);cout<<"c4/c5=";c6.display();system("pause");return 0;}
学会使用类模板使程序更加简洁与方便。
template <class numtype>
class 类名
{
类名 函数名(类名 形参)
}
template <class numtype>
类名<numtype> 类名<numtype>::函数名(类名<numtype>形参)
这是类模板的基本结构。
- 第七周实验报告(三)
- 第七周实验报告(三)
- 第七周实验报告三
- 第七周实验报告三
- C++程序设计实验报告(五十)---第七周任务三
- 第七周实验报告(任务三)【模板类】
- 第七周实验报告(三)设计complex模板
- 第七周实验报告 任务三
- 《第七周实验报告任务三》
- 第七周实验报告(1)
- 第七周实验报告(二)
- 第七周实验报告(一)
- 第七周实验报告(二)
- 第七周实验报告(一)
- 第七周实验报告(1)
- 第七周实验报告(2)
- 第七周实验报告(一)
- 第七周实验报告(2)
- Android中数据存储的5种方法
- boj1924 麻将判胡
- Re-installation failed due to different application signatures.
- hibernate的fetch和batch批量操作
- 设计模式 (五)原型模式(Prototype)
- 第七周实验报告(三)
- 第七周任务二
- 学习Javascript闭包(Closure)
- ios 路径 目录 学习知识总结
- 为什么java中迭代过程中不可以不可以添加或删除元素
- oracle 函数中调用存储过程
- 编写android加载图片的程序时,遇到了内存泄露问题!
- sgu107 987654321 problem
- 万普SDK使用说明