以下のコードでそれを実現できるが,コンパイラによっては以下のコードはコンパイル出来ない.例えばg++はOKだがvc++10ではコンパイルに失敗する.
#include <iostream>
#include <string>
using namespace std;
class MyClass {
private:
string name;
public:
MyClass(const string s): name(s){}
friend ostream& operator << (ostream& os, const MyClass& obj);
};
inline ostream& operator <<(ostream& os, const MyClass& obj) {
os << obj.name;
return os;
}
int main() {
MyClass m("otter");
cout << "Dump myclass -- " << m << endl;
return 0;
}
0 件のコメント:
コメントを投稿