这个问题主要考察的是C和C++的区别,以及C++中继承和多态的概念。
C和C++的区别
C语言是面向过程的语言,而C++是面向对象的过程。
什么是面向对象和面向过程?
面向过程就是分析解决问题的步骤,然后用函数把这些步骤一步一步的进行实现,在使用的时候进行一一调用就行了,注重的是对于过程的分析。面向对象则是把构成问题的事进行分成各个对象,建立对象的目的也不仅仅是完成这一个个步骤,而是描述各个问题在解决的过程中所发生的行为。
面向对象和面向过程的区别?
面向过程的设计方法采用函数来描述数据的操作,但将函数与操作的数据进行分离开来。
面向对象的设计方法是将对象和数据进行封装起来成为一个整体。
面向过程以设计步骤为过程,后期难以维护。
面向对象设计以数据为中心,数据相对与功能来说具有较强的稳定性更加易于维护。
面向对象的三大特征
封装:
对于封装来说就是数据与具体操作实现的代码都放在某个对象的内部,使这些代码的具体细节不被外界发现,只留下一些接口供外部来使用,而不能一任何的形式来对象内部的实现。使用封装能够隐藏具体的实现的细节,使代码更加易于维护并且保证了系统的安全性。
继承:
继承机制是面向对象程序设计使代码进行复用的最重要的手段,他允许程序员在保证类原有类特性的基础上进行扩展来增加功能。这样新产生的类就被称为派生类,继承就可以表现面向对象机制的的层次结构。