C++面向对象:运算符重载与输入输出流

需积分: 50 2 下载量 54 浏览量 更新于2024-08-16 收藏 5.34MB PPT 举报
"本资源主要介绍了C++语言中的重载函数,特别是针对输入输出流的重载,以及C++的发展历程和基本特性。" 在C++编程中,重载函数是一种强大的特性,允许我们使用相同的函数名但通过不同的参数列表来实现不同的功能。在【标题】中提到的重载函数原型,是针对C++中的输入输出流进行重载的示例,它们通常用于自定义类型的输入输出操作。这两个函数原型分别是: 1. `istream & operator >> (istream&, 自定义类&)` 2. `ostream & operator << (ostream&, 自定义类&)` 这两个函数的作用是使我们可以像操作基本数据类型一样方便地读写自定义类的对象。`operator>>`用于从输入流中提取数据到自定义类的对象,而`operator<<`则用于将自定义类的对象写入输出流。由于这两个操作需要访问类的私有和保护成员,因此通常将它们声明为友元函数,以便能直接访问这些成员。 在【描述】中提到,由于这两个重载函数需要两个形参,第一个形参是标准的输入/输出流对象(如`std::istream`或`std::ostream`),而不是自定义类型,因此它们不适合作为成员函数。成员函数通常有一个隐含的`this`指针作为第一个参数,这与上述重载函数的格式不符。 C++是C语言的扩展,它引入了面向对象的特性,如类、对象、封装、继承、多态等。【标签】"c语言"表明这个主题虽然涉及C++,但仍然与C语言的基础紧密相关。C++的产生是为了克服C语言在大型软件设计中的局限,它支持两种编程范式:面向过程和面向对象。 在【部分内容】中,提到了C++从C语言发展而来的历史,以及C++的关键特性。C++的早期版本逐步加入了如多重继承、类模板、异常处理和命名空间等功能。C++1988年后的版本不断演进,直到1997年ANSI发布了C++标准,使得C++的语法和实现更加规范化。 C++的词法和词法规则也是学习的基础。C++的字符集与C语言相同,包括字母、数字和其他ASCII码字符。单词分为关键字、标识符、运算符、分隔符和注释符等。关键字是预定义的,如`int`、`float`、`if`等,不能用作标识符。标识符是程序员自定义的名称,用于函数、变量、类等。运算符则执行各种计算和逻辑操作。 这个资源涵盖了C++中的重载函数、面向对象编程的基本概念,以及C++语言的进化和基础语法,对于理解和使用C++进行编程非常有帮助。