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类型为这一切做了封装。使得你直接调用它就可以输出各种类型的数据

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-23
重载了<<运算符的吧?