您好,欢迎访问成都祈钰瑶科技有限公司!

全国咨询热线

18982081108
✕

成都网站建设公司,成都网站UI设计,成都网站安全维护,成都网站内容优化服务

模板类的友员函数-创新互联

#include<iostream>

站在用户的角度思考问题,与客户深入沟通,找到镶黄网站设计与镶黄网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖镶黄地区。

using namespace std;

template<class T>

class Complex{

public:

Complex(T a, T b);

void setComplex(T a,T b);

friend Complex<T> operator+(const Complex<T> &c1, const Complex<T> &c2){

//对于模板类的友员函数一定要写在类内!!!不可以再类外实现

T p_w_picpath = c1.p_w_picpath + c2.p_w_picpath;

T real = c1.real + c2.real;

return Complex<T>(real,p_w_picpath);

//这个必须按照这样写,不能加个对象!因为类型不确定!

}

friend Complex<T>operator-(const Complex<T> &c1, const Complex<T> &c2){

T p_w_picpath = c1.p_w_picpath - c2.p_w_picpath;

T real = c1.real - c2.real;

return Complex<T>(real,p_w_picpath);

}

friend Complex<T> operator-(const Complex &c1){

return Complex<T> (-c1.real, -c1.p_w_picpath);

}

void print()const;

private:

T real, p_w_picpath;

};

template <class T>

Complex<T>::Complex(T a, T b){

setComplex(a, b);

}

template<class T>

void Complex<T>::print()const{

cout << "real=" << real << "p_w_picpath=" << p_w_picpath << endl;

}

template <class T>

void Complex<T>::setComplex(T a, T b){

real = a;

p_w_picpath = b;

}

int main(){

Complex<int> a(2, 3);

Complex<int> b(2, 4);

(a + b).print();

(a - b).print();

(-a).print();

system("pause");

return 0;

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。