📅  最后修改于: 2023-12-03 14:59:51.670000             🧑  作者: Mango
在C++中,可以通过重载流插入(<<)运算符,实现自定义的输出格式。通过自定义的输出格式,我们可以更加直观地了解对象的信息。
ostream& operator<<(ostream& os, const T& obj);
其中,os表示输出流,T表示自定义类型。
以一个简单的学生类为例,演示如何为类重载流插入运算符。
class Student {
public:
Student(string name, int age, string gender)
: m_name(name), m_age(age), m_gender(gender) {}
friend ostream& operator<<(ostream& os, const Student& s);
private:
string m_name;
int m_age;
string m_gender;
};
ostream& operator<<(ostream& os, const Student& s) {
os << "name: " << s.m_name << ", age: " << s.m_age << ", gender: " << s.m_gender;
return os;
}
在上述例子中,我们为Student类重载了流插入运算符,定义了输出的格式。
在程序中,我们可以像使用cout输出对象一样,使用流插入运算符输出对象。
int main() {
Student s("Tom", 18, "male");
cout << s << endl;
return 0;
}
上述程序输出结果为:
name: Tom, age: 18, gender: male
通过重载流插入运算符,我们可以为自定义类型实现自定义的输出格式,方便程序员快速查看对象信息。需要注意的是,流插入运算符的返回值一般都为流对象本身。