模板类的友员函数

#include

创新互联是专业的桥西网站建设公司,桥西接单;提供成都网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行桥西网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

using namespace std;

template

class Complex{

public:

Complex(T a, T b);

void setComplex(T a,T b);

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

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

T p_w_picpath = c1.p_w_picpath + c2.p_w_picpath;

T real = c1.real + c2.real;

return Complex(real,p_w_picpath);

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

}

friend Complexoperator-(const Complex &c1, const Complex &c2){

T p_w_picpath = c1.p_w_picpath - c2.p_w_picpath;

T real = c1.real - c2.real;

return Complex(real,p_w_picpath);

}

friend Complex operator-(const Complex &c1){

return Complex (-c1.real, -c1.p_w_picpath);

}

void print()const;

private:

T real, p_w_picpath;

};

template

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

setComplex(a, b);

}

template

void Complex::print()const{

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

}

template

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

real = a;

p_w_picpath = b;

}

int main(){

Complex a(2, 3);

Complex b(2, 4);

(a + b).print();

(a - b).print();

(-a).print();

system("pause");

return 0;

}


本文名称:模板类的友员函数
地址分享:http://azwzsj.com/article/pgpcih.html