c++中的String类,为啥直接用于cout就能输出?它里面包含了啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中的String类,为啥直接用于cout就能输出?它里面包含了啥?相关的知识,希望对你有一定的参考价值。
不太明白你的意思,不过C++中的cout是一个输出流(ostream)类的对象,你写的这行代码using namespace std就是为了引入cout、cin等等对象的,其有一个成员函数operator<<,所以能够向屏幕输出内容,并且由于该成员函数进行了重载,使得其可以输出各种基本数据类型和String类型的数据。这就跟Java中的输出语句System.out.println()中的prinln()是打印流类(PrintStream,System.out就是该类的对象)一样的。追问那String类里面应该有一个函数,配合cout对象中的<<运算符重载吧?
追答不是,是cout所属的类ostream里面重载了处理所有类型数据的operator<<()方法,
String在C语言里面是以char[]的形式顺序存储的,char类型又可以转换为int类型,所以cout可以输出字符串,而C++中的String类型为这一切做了封装。使得你直接调用它就可以输出各种类型的数据
以上是关于c++中的String类,为啥直接用于cout就能输出?它里面包含了啥?的主要内容,如果未能解决你的问题,请参考以下文章