一、流插入流提取
1、流插入演示
这里我们可能有个问题,之前我们知道流插入流提取可以自动识别类型,但为什么识别不了自定义类型呢?
打开Cplusplus.com
我们可以清楚的看到大部分内置类型已经存在库中,相当于去调用库中的函数,所以可以自动识别类型,而自定义类型没有存在库中,需要我们手写。
我们可以看出来上图没法通过,下图可以通过为什么呢?这里是因为,d1<<cout从左往右,第一个必须对应this指针,所以我们可以将这个函数定义在外面。
下午虽然可以打印,但是我们总看别别扭。
我们定义在了外面,可是成员对象又是私有的,设成公有的又不太好,这里我们涉及涉及友元概念。
我们可以看出来这样可以执行。
但是我们又有一个问题,如果想打印多个自定义类型,又该怎么做呢?
我们可以这样做。返回类型设为流插入返回,这样可以很好解决问题
2、流提取演示
3、cplusplus推荐
新版的cplusplus有出现短路,这里我们可以使用旧版的。