C++ ostream用法案例详解

 更新时间:2021年08月20日 15:07:33   作者:luoyayun361  
这篇文章主要介绍了C++ ostream用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

概述

在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout。那么 ostream 有什么用呢,来看一个场景:

class CPoint
{
public:
    CPoint(int x_,int y_):x(x_),y(y_){}
    int x,y;
};

这里定义了一个简单的类CPoint,如果我们实例化该类过后,想要打印对象的值:

CPoint point(1,2);
cout << point;

很明显,这样写是会报错,因为"<<"只能输出整型、实型等普通类型。错误如下:

而ostream的出现正好可以解决这个问题。

正文

C++中的ostream这个类型,通常作为某个类的友元函数出现,用于<<操作重载中。接下来咱看看如何通过修改以上示例让输出正常流正常进行。

class CPoint
{
public:
    CPoint(int x_,int y_):x(x_),y(y_){}

    friend ostream & operator <<(ostream & os,const CPoint & p){
        return os << "x = "<<p.x  << " y = "<< p.y << endl;
    }

    int x,y;
};

在 CPoint 中,我们重载了<<操作符,让其能够正常输出。
OK,这样就可以直接输出cout << point;
该方法还可以扩展到其他很多地方,对自定义的类型进行输出时特别管用,写法都是一样的,只要重载<<操作符,配合ostream一起使用即可。

到此这篇关于C++ ostream用法案例详解的文章就介绍到这了,更多相关C++ ostream用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vscode Remote Development远程开发调试的实现思路

    Vscode Remote Development远程开发调试的实现思路

    这篇文章主要介绍了Vscode Remote Development远程开发调试的相关资料,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 详解C语言 三大循环 四大跳转 和判断语句

    详解C语言 三大循环 四大跳转 和判断语句

    这篇文章主要介绍了详解C语言 三大循环 四大跳转 和判断语句的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • c++栈内存和堆内存的基本使用小结

    c++栈内存和堆内存的基本使用小结

    本文主要介绍了c++栈内存和堆内存的基本使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • C语言学生信息管理系统设计与实现

    C语言学生信息管理系统设计与实现

    这篇文章主要为大家详细介绍了C语言学生信息管理系统设计与实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++超详细梳理IO流操作

    C++超详细梳理IO流操作

    当程序与外界进行信息交换时,存在两个对象,一个是程序中的对象,另一个是文件对象。流是信息流动的一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动
    2022-07-07
  • C语言获取文件大小的两种方式

    C语言获取文件大小的两种方式

    因为音视频开发的需要,经常会写一些文件输入输出的测试程序,常常用到获取文件大小的函数,本篇文章就记录一下常用的两种获取文件大小的方式,希望对大家有所帮助
    2023-11-11
  • C语言指针详解之野指针

    C语言指针详解之野指针

    这篇文章主要为大家介绍了C语言野指针,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • C语言中free函数的使用详解

    C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下
    2017-05-05
  • C语言顺序表的实现代码

    C语言顺序表的实现代码

    这篇文章主要为大家详细介绍了C语言实现顺序表的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 利用C语言来求最大连续子序列乘积的方法

    利用C语言来求最大连续子序列乘积的方法

    这篇文章主要介绍了利用C语言来求最大连续子序列乘积的方法,基本的思路以外文中还附有相关ACM题目,需要的朋友可以参考下
    2015-08-08

最新评论