重载朋友操作符<for Template类
<<
warning: friend declaration std::ostream& operator<<(std::ostream&, const D<classT>&)' declares a non-template function
warning: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning
/tmp/cc6VTWdv.o:uppgift4.cc:(.text+0x180): undefined reference to operator<<(std::basic_ostream<char, std::char_traits<char> >&, D<int> const&)' collect2: ld returned 1 exit status
template <class T>T my_max(T a, T b){
if(a > b)
return a;
else
return b;}template <class classT>class D{public:
D(classT in)
: d(in) {};
bool operator>(const D& rhs) const;
classT operator=(const D<classT>& rhs);
friend ostream& operator<< (ostream & os, const D<classT>& rhs);private:
classT d;};int main(){
int i1 = 1;
int i2 = 2;
D<int> d1(i1);
D<int> d2(i2);
cout << my_max(d1,d2) << endl;
return 0;}template <class classT>ostream& operator<<(ostream &os, const D<classT>& rhs){
os << rhs.d;
return os;}
跃然一笑
蝴蝶不菲
胡说叔叔
随时随地看视频慕课网APP
相关分类