模板类中友元函数

来源:互联网 发布:软件开发人员工资标准 编辑:程序博客网 时间:2024/06/05 06:02
/*      * 程序的版权和版本声明部分      * Copyright (c)2013, 烟台大学计算机学院学生      * All rightsreserved.      * 文件名称:time .cpp                                 * 作    者:徐本锡                                  * 完成日期:2013年4月16日      * 版本号: v1.0            * 输入描述:      * 问题描述:    */ #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);    friend Complex<numtype> add_complex(Complex<numtype> &c2,Complex<numtype> &c3); void display();private:numtype real;numtype imag;};template <class numtype> Complex<numtype> Complex<numtype>::complex_add(Complex &c2){Complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;}template <class numtype> //.........................................................................切记<numtype> Complex<numtype> add_complex(Complex<numtype> &c2,Complex<numtype> &c3){Complex<numtype> c;c.real=c2.real+c3.real;c.imag=c2.imag+c3.imag;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;  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( ); Complex<int> c7;c7=add_complex(c1,c2);  cout<<"c1+c2="; c7.display( );return 0;}


 

 

 

原创粉丝点击