第五周项目 6 复制模板类(1,2)
来源:互联网 发布:网络机顶盒哪个好用 编辑:程序博客网 时间:2024/06/06 13:57
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:main.cpp * 作 者 :韩娟 * 完成日期 :2015年4月16日* 版 本 号 :v1.0 * 问题描述 :(1)要求类成员函数在类外定义。 (2)在此基础上,再实现减法、乘法和除法 * 输入描述 : 略 * 程序输出 :略 */ #include <iostream>using namespace std;template <class T>class Complex{ private: T real; T imag; public: Complex() { real=0; imag=0; } Complex(T r,T i) { real=r; imag=i; } Complex complex_add(Complex &c2); //加 Complex complex_minus(Complex &c2); //减 Complex complex_multiply(Complex &c2); //乘 Complex complex_divide(Complex &c2); // 除 void display();};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_minus(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_multiply(Complex<T> &c2) //乘法{ Complex<T> 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_divide(Complex<T> &c2) //除法{ Complex<T> c; T d=c2.real*c2.real+c2.imag*c2.imag; c.real=(real*c2.real+imag*c2.imag)/d; c.imag=(imag*c2.real-real*c2.imag)/d; 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; //实部和虚部是int型 cout<<"实部与虚部是int型:"<<endl; c3=c1.complex_add(c2); cout<<"c1+c2="; c3.display( ); cout<<endl; c3=c1.complex_minus(c2); cout<<"c1-c2="; c3.display( ); cout<<endl; c3=c1.complex_multiply(c2); cout<<"c1*c2="; c3.display( ); cout<<endl; c3=c1.complex_divide(c2); cout<<"c1/c2="; c3.display( ); cout<<endl; Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6; //实部和虚部是double型 cout<<"实部和虚部是double型:"<<endl; c6=c4.complex_add(c5); cout<<"c4+c5="; c6.display( ); cout<<endl; c6=c4.complex_minus(c5); cout<<"c4-c25"; c6.display( ); cout<<endl; c6=c4.complex_multiply(c5); cout<<"c4*c5="; c6.display( ); cout<<endl; c6=c4.complex_divide(c5); cout<<"c4/c5="; c6.display( ); cout<<endl; return 0;}
知识点总结 :
对于这个来说前面的template<class T>是很重要的。还有每个定义函数前也要写。
学习心得 :
模板类挺好用的。
0 0
- 第五周项目 6 复制模板类(1,2)
- 第五周项目 6 复制模板类(3)
- 第五周项目 1 深复制体验(2)
- 2015-第6周项目6-复制模板类(1)&(2)
- 第五周项目 1 深复制体验(1)
- 第五周项目 1 深复制体验(3)
- 第五周项目6——类模板
- 第六周上机实践项目6——复制模板类(1)
- 第五周项目1——深复制体验(2)
- 第五周项目6——类模板(友元函数)
- 第6周项目6复制模板类
- 第六周项目六 复制模板类(复数类)
- 第六周项目六-复制模板类
- 第五周项目一——深复制体验2
- 第五周项目一——深复制体验1
- 第五周项目1--深复制体验3
- 第6周项目6——复制模板类(2)
- 第6周项目6——复制模板类(1)
- 小谈Online-game服务器端设计(1、2)
- 利用mybatis-gernerator插件生成mybatis 所需文件
- AFNetworking的网络状态监听
- usb 学习笔记
- 合肥软件开发外包公司有哪些
- 第五周项目 6 复制模板类(1,2)
- MFC 自定义消息
- PSR-0规范的一个简单例子实践
- poj1067 hdu1527 取石子游戏 威佐夫博弈
- 数据结构---队列的链式实现
- DNS BIND之dnssec安全实例配置-根节点
- 矩阵快速幂【模板】
- 第七周 项目二:自选图形用户界面程序开发
- NLineInputFormat用法