c++如何用cout将自己的类直接输出为字符串

cout可以直接将string类输出为字符串,如何用cout输出自定义类为字符串?
比如cout<<MYString;
默认输出的是class *,就是类的名字,因该怎么改?

第1个回答  推荐于2016-09-05
<<操作符重载
#include <iostream>
#include <string>
using namespace std;

class myString
{
friend ostream& operator <<(ostream&, const myString&);
public:
myString(const string str = "Hello"): _str(str) { }
private:
string _str;
};

ostream& operator << (ostream& os, const myString &ob)
{
os << ob._str;
return os;
}

int main()
{
myString str("world");
cout << str << endl;
return 0;
}本回答被提问者采纳
第2个回答  2011-10-13
std::ostream& operator<<
(
ostream& _Ostr,
const test& t
)
{
return _Ostr;
}

这里面,test就是你的类。
第3个回答  2011-10-13
重载<<操作符追问

是不是const char * operator<< ?
求举例

相似回答