c++重载ostream的实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++重载ostream的实现相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;

class Point{
public:
	Point(int _x = 0, int _y = 0, int _z = 0):x(_x), y(_y), z(_z){}
	Point(){}
	~Point(){}
	friend ostream& operator<<(ostream &os, const Point &pd);
private:
	int x;
	int y;
	int z;
};

ostream& operator<<(ostream &os, const Point &pd){
	os << pd.x<<" "<<pd.y<<" "<<pd.z;
	return os;
}
 
int main() {
	Point pd(1,2,3);
	cout<<pd;
	return 0;
}
基本的注意点就是。要把函数作为class Point的友元函数,在类的外面进行定义,此外要注意return os。达到链式的作用。

以上是关于c++重载ostream的实现的主要内容,如果未能解决你的问题,请参考以下文章

c++中重载输出操作符,为啥要返回引用

C++学习基础八——重载输入和输出操作符

C++重载输出操作符<<,为什么要返回引用

流运算符的重载

第四周:运算符重载

实现重载运算符'<<'时出错 - C++