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

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

2024-12-01 03:06:51

<<操作符重载
#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;
}
何必太在乎你

2024-12-01 03:03:43

std::ostream& operator<<
(
ostream& _Ostr,
const test& t
)
{
return _Ostr;
}

这里面,test就是你的类。
听属于俩人的歌

2024-12-01 05:55:27

重载<<操作符
追问
是不是const char * operator<< ?
求举例