我有一個結構,我想用'std :: cout'或其他輸出流輸出。 這可能沒有使用類?用結構(無類)重載「<<」cout風格
感謝
#include <iostream>
#include <fstream>
template <typename T>
struct point{
T x;
T y;
};
template <typename T>
std::ostream& dump(std::ostream &o,point<T> p) const{
o<<"x: " << p.x <<"\ty: " << p.y <<std::endl;
}
template<typename T>
std::ostream& operator << (std::ostream &o,const point<T> &a){
return dump(o,a);
}
int main(){
point<double> p;
p.x=0.1;
p.y=0.3;
dump(std::cout,p);
std::cout << p ;//how?
return 0;
}
我嘗試不同的語法」,但我似乎無法使它發揮作用。
值得注意的是,「不使用類」在這種情況下不是特別有用的限定詞。結構和類之間沒有功能差異,除了結構默認爲公共成員/繼承,而類默認是私有的。 – 2010-04-27 07:10:03