标签:
1 namespace cplusplus_primer{ 2 class Sales_item{/*.....*/}; 3 Sales_item operator+(const Sales_item&,const Sales_item&); 4 class Query{ 5 public: 6 Query(const std::string&); 7 std::ostream &display(std::ostream&) const; 8 //... 9 }; 10 class Query_base{/*.....*/}; 11 }
注:命名空间作用域不能以分号结尾
1 namespace std{ 2 namespace rel_ops{ 3 template<class T> 4 inline bool operator != ( const T& x , const T& y) 5 { 6 return !(x == y); 7 } 8 9 template<class T> 10 inline bool operator > ( const T& x , const T& y) 11 { 12 return y < x; 13 } 14 15 template<class T> 16 inline bool operator <= ( const T& x , const T& y) 17 { 18 return !(y < x); 19 } 20 21 template<class T> 22 inline bool operator >= ( const T& x , const T& y) 23 { 24 return !(x < y); 25 } 26 } 27 }
只需定义<和==操作符,就可以使用!=,>,<=,>=等四个比较操作符。另外还需要注意两点:
#include <utility> //上述命名空间定义于该文件标签:
原文地址:http://www.cnblogs.com/codetravel/p/4534510.html