流插入操作符 (<<) 重载 —— 实现自定义类型数据的打印

本文介绍C++中如何通过重载流插入符operator<<实现自定义类的打印输出。从理解内置operator<<函数开始,逐步讲解如何为自定义类型Person重载此操作符。

        目录

1、认识内置的 operator<< 函数的声明和调用过程

(1) 认识operator<< 操作符函数的声明

(2) operator<< 函数的调用过程

2、重载自定义类型的 operator<< 函数

(1) 声明operator << 函数

(2) Person类添加友元函数

(3) 定义 operator << 函数

(4) 测试


C++中一般使用 cout 来打印数据,但是可惜的是,cout 一般仅支持内置类型的打印,对于结构体/ 类 这种自定义类型的数据,cout 并不支持。

由于 cout 打印的本质其实是调用了 operator <<() 函数,因此,我们可以通过重载 operator <<() 函数来实现自定义类型的打印。

1、认识内置的 operator<< 函数的声明和调用过程

(1) 认识operator<< 操作符函数的声明

下面是 ostream类 中的operator<< 函数

流插入操作符<< 一般有两个操作数,这个函数因为是在ostream类内部声明的,所以隐藏了一个 this 指针,实际上声明应该是像下面这样:

ostream& operator<<(ostream& this, int val);

实际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值