- 什么是C++
- 面向对象与面向过程
- C++三大特性
- 重载
- 缺省参数
- 命名空间
什么是C++
C++是C语言的继承,是一门面向对象的高级编程语言
面向对象与面向过程
面向对象
面向对象没有一个明确的定义,可以理解为按人类认识客观世界的方式,将构成问题的事务分解为一个个的对象,采用基于对象的方式建立模型,模拟客观世界分析,设计,建立软件的方法。
面向过程
面向过程分析出解决问题所需要的步骤,用函数将这些步骤一一实现,在使用时一个个调用
C++的三大特性
封装
将抽象得到的数据和行为(功能)相结合,也就是数据与操作数据的源代码进行有机结合,称之为类,数据与函数都是类的成员。
封装的目的是增强安全性和简化编程,用户不需要知道函数功能的具体实现方式,只需通过外部接口和特定的访问权限来操作类的成员。继承
继承是指可以使用已有类的全部功能,继承可以使一个对象之间使用另一个对象的全部功能,并且在不用重新编写原有类的情况下,对原有类进行使用和拓展。
通过继承得到的类称为“子类”或“派生类”,被继承的类称为“父类”,“基类”或“超类”。
继承的过程是从一般到特殊的过程。多态
多态是指可以允许将父类对象设置为一个或多个与之子类对象相等的技术,赋值之后,父类对象即可以赋值给它的子类对象的特性表现出不同的表现形式。
多态是实现机制是继承和虚函数
重载
函数重载
函数重载是指在同一个作用域中函数的函数名相同,返回值可同可不同,通过函数的不同的参数列表(参数类型,个数)来区分不同函数功能的技术
为什么C++支持重载,而C语言不支持?
C语言程序在编译过程中,在链接时通过函数名寻找到需要的函数,因此在C语言中不能进行函数重载的操作,而C++则是通过函数名及函数参数列表来区分查找到的函数,因此可以使用函数重载。
缺省参数
所谓缺省参数,顾名思义,就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。
缺省参数使用主要规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数,即:带缺省值的参数必须放在参数表的最后面。 缺省值必须是常量
命名空间
C++语言引入命名空间这一概念主要是为了避免命名冲突,其关键字为 namespace
一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱