classA{public:static A&getInstence();setup(){}private:A();A(const A&rhs);
A&operator=(const A & rhs);};
A&A::getInstance(){static A a;return a;}
class template 类模板
template<typenameT>classcomplex{public:complex(T r=0,T i=0):re(r),im(i){}
complex &operator+=(const complex &)
T real()const{return re;}
T imag()const{return im;}private:
T re,im;friend complex &__doapl(complex *,const complex &);}{
complex<double>c1(2.1,1.5);
complex<int>c2(1,2);}
function template 函数模板
classstone{public:stone(int w,int h,int we):_w(w),_h(h),_weight(we){}booloperator<(const stone & rhs)const//操作符重载{return _weight <rhs._weight;}private:int _w,_h,_weigt;}template<classT>inlineconst T&min(const T & a,const T& b){return b < a ? b : a;}