声明:笔者仍为在校学生,有错误之处恳请批评指正。
另本文基于《C Primer Plus》和《C Primer》,可以说是这两书以及作者个人理解的总结。如果在文中出现" "引用,无特别说明均出自这两本著作。
初期按部分整理相关内容(最基本的C语言语法不做介绍),更新情况见目录~
一、C++ 语言快餐式介绍
二、对象和类
- 什么是过程性编程?什么是面向对象?什么是面向对象编程?
- 啥叫类?
- 什么是封装?
- 返回引用和返回值有什么区别?
- 类作用域
- 运算符重载
三、输入和输出文件
- . 流和缓冲区
- 流、缓冲区和iostream文件
- 文件的输入输出
- 命令行处理
(持续更新后续内容)
—————————————目录线————————————————
一、C++ 语言快餐式介绍
C++通过一些特性改造了C语言,本身是C语言的超集。如果说C语言的精华是指针和内存管理,那么C++的精华之一就是其面向对象特性(OOP,Object-oriented Programming)。
C++ 的OOP特性:封装、数据隐藏、数据抽象、多态和继承、代码重用。
二、对象和类
1.什么是过程性编程?什么是面向对象编程?
过程性编程:在思考一个问题的解决方式时,首先考虑要遵循的步骤,按步骤考虑这些数据的实现。
面向对象:面向对象是一种编程风格,它适用于各种编程语言中。就像数据结构也是通过C语言进行介绍,但是各种语言都离不开数据结构一样。C++提供了专门用来实现OOP方法的特性,因此用C++来介绍OOP更加明确。将数据表示和函数声明放在一个头文件中,这就是类声明。使数据表示成为私有,使数据只能被授权的函数访问。(比如说电脑希望用户双击“我的电脑”图标来打开这个页面,而不是有权限篡改浏览器的其他数据),数据的隐藏增加的数据的安全性。另外,将实现细节和接口设计分离出来有利于程序的维护(哪里不会点哪里,哪里不对改哪里)不会像写在一个文件里,改了一处程序出现了更多bug,这也就降低维护的工作量,大量节省了程序员的头发。
面向对象编程:首先考虑的不是步骤,而是要处理的数据。从用户的角度考虑对象,包括对象的所需数据和对象要进行的操作(接口)。模块化实现要进行的操作。
2.什么叫类?什么是接口?
类可以认为是一系列具有相同特征的数据及数据操作的集合。也就是类定义里定义了该类型的对象需要什么样的数据构成,以及这些对象可以实现什么样的操作(接口)。
类规范由两个部分组成:
类声明:数据成员 + 成员函数(接口),常写在 .h 文件中,也就是头文件内容。
类方法定义:类成员函数的具体实现,常写在 .cpp 文件中。
接口:对类我们说公共接口。接口在狭义上就是类中定义的数据所能进行的操作,也就是函数声明。用户在使用计算机时,不能直接告诉计算机自己想的是什么,而是通过程序提供的接口函数来进行交互。用户只需要知道这个函数是干什么的,怎么用就行了,而不用关心这个函数具体是怎么实现的。这样也达到了数据隐藏的目的。(Windows的桌面图标一定程度上都可以看做计算机提供的用户接口,我们知道双击来打开文件,或者打开浏览器,这就是我们