ostream &operator<<(ostream &out,m_class &m) { out <<"name"<<m.name<<"age"<<m.age<<endl; return out; }
时间: 2024-06-13 08:05:59 浏览: 122
这是一个C++中的重载运算符<<的例子,用于将自定义类m_class的对象输出到流中。其中,out是一个ostream类型的输出流对象,m是一个m_class类型的对象。该函数的实现将m_class对象的成员变量name和age输出到out流中,并在最后加上一个换行符endl,最后返回out流对象。可以通过在程序中使用cout来输出m_class对象,例如:cout << m_obj; 其中m_obj是一个m_class类型的对象。
相关问题
ostream & operator<<(ostream& cout,Person& p)
这是一个重载输出流运算符的函数,它的作用是将一个 Person 类型的对象输出到标准输出流中。具体实现方式可以参考以下代码:
```c++
#include<iostream>
#include<string>
using namespace std;
class Person{
public:
Person(string name,int age):m_name(name),m_age(age){}
friend ostream & operator<<(ostream& cout,Person& p);
private:
string m_name;
int m_age;
};
ostream & operator<<(ostream& cout,Person& p){
cout<<"Name: "<<p.m_name<<", Age: "<<p.m_age<<endl;
return cout;
}
int main(){
Person p("Tom", 18);
cout << p; // 输出 "Name: Tom, Age: 18"
return 0;
}
```
在上述代码中,重载输出流运算符的函数 `operator<<` 被定义为 `Person` 类的友元函数,它可以直接访问 `Person` 类的私有成员变量 `m_name` 和 `m_age`,并将它们输出到标准输出流中。在主函数中,我们创建一个 `Person` 对象 `p`,然后通过 `cout << p` 的方式将其输出到标准输出流中。
class Book { string isbn,name,author,press; double price; public: friend ostream &operator<<(ostream &out, Book &b); friend istream &operator>>(istream &in, Book &b); }; 实现其中运算符<<、>>重载函数的定义,使其能够输入输出一个书类对象的信息。
请看下面的代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Book {
string isbn, name, author, press;
double price;
public:
friend ostream &operator<<(ostream &out, Book &b);
friend istream &operator>>(istream &in, Book &b);
};
ostream &operator<<(ostream &out, Book &b) {
out << "ISBN: " << b.isbn << endl;
out << "Name: " << b.name << endl;
out << "Author: " << b.author << endl;
out << "Press: " << b.press << endl;
out << "Price: " << b.price << endl;
return out;
}
istream &operator>>(istream &in, Book &b) {
cout << "ISBN: ";
in >> b.isbn;
cout << "Name: ";
in >> b.name;
cout << "Author: ";
in >> b.author;
cout << "Press: ";
in >> b.press;
cout << "Price: ";
in >> b.price;
return in;
}
int main() {
Book book;
cin >> book;
cout << book;
return 0;
}
```
在这个实现中,我们使用了 `friend` 关键字来让运算符函数访问 `Book` 类的私有成员。`operator<<` 函数用于输出一个 `Book` 类对象的信息,而 `operator>>` 函数用于输入一个 `Book` 类对象的信息。在 `main` 函数中,我们通过 `cin` 输入一个 `Book` 类对象的信息,然后通过 `cout` 输出这个对象的信息。