C++很多时候被认为是“C with Class”,事实上,C++引入了完整的面向对象思想,并且为支持这种思想增加了很多基础结构。
类与结构体
C++中的类和结构体是非常相似的。
C++的继承
C++中没有接口的关键字,但是有接口的思想。事实上一个纯虚函数就是一个接口。正因为没有接口的概念,所以,C++没有实现(implements)这种说法,它所具有的只有继承。与Java不一样,C++支持多继承。既C++的继承分为单继承和多继承2种方式,对于单继承,派生类只有一个基类;对于多继承,派生类通常是从多个基类派生出来的。其格式为:
单继承格式:class 派生类名:继承方式 基类名
多继承格式:class 派生类名:继承方式1 基类名1,……,继承方式n 基类名n
除了单继承与多继承外,C++的继承里还有公共继承(public)、保护继承(protected)和私有继承之分。具体可见下表:
派生类成员访问属性 基类成员访问属性 |
继承方式 |
||
public |
protected |
private |
|
public |
public |
protected |
private |
protected |
protected |
protected |
private |
private |
在派生类中隐藏 |
在派生类中隐藏 |
在派生类中隐藏 |
另外,C++中还有虚继承的概念:
class 派生类名:virtual 继承方式 基类名
C++的多态
C++利用虚表(Virtual Table)来实现多态。既实用关键字Virtual来表示该成员函数是可以被子类复写的。
版权声明:本文为luoxinwu123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。