C++总结—面向对象

  • Post author:
  • Post category:其他

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 版权协议,转载请附上原文出处链接和本声明。