page contents

带你认识C++语言的常用特性

C++是在C语言的基础上开发的一种面向对象编程语言,应用非常广泛。常用于系统开发,引擎开发等应用领域,支持类、封装、继承、多态等特性。C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点........

attachments-2021-08-VaYvnvKd6125bb8dd2378.png

C++是在C语言的基础上开发的一种面向对象编程语言,应用非常广泛。常用于系统开发,引擎开发等应用领域,支持类、封装、继承、多态等特性。C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点。


C++的三大特性:继承、多态、封装

1、继承

被继承的是父类(基类),继承出来的类是子类(派生类),子类拥有父类的所有的特性。

继承方式有公有继承、私有继承,保护继承。默认继承形式和关键字 classstrct有关。

公有继承:父类的公有和保护成员在子类中不变,但私有的在子类中不可访问。

私有继承:父类的公有和保护成员在子类中变为私有,但私有的在子类中不可访问。

保护继承:父类的公有和保护成员在子类中变为保护,但私有的在子类中不可访问。

优点:

继承减少了重复的代码、继承是多态的前提、继承增加了类的耦合性;且可以较为方便地改变父类的实现。

缺点:

继承具有入侵性(即继承必须拥有父类的所有非私有属性和方法);

父类通常至少定义了子类的部分行为,父类的改变都可能影响子类的行为;

如果继承下来的子类不适合解决新问题,父类必须重写或替换,那么这种依赖关系就限制了灵活性,最终限制了复用性。

 

2、多态

采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。

继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。

C++有两种多态,称为动多态(运行期多态)和静多态(编译器多态),静多态主要是通过模板来实现,而动多态是通过虚函数来实现的。

虚继承:为了解决多重继承中的二义性问题,它维护了一张虚基类表。

优点:大大提高了代码的可复用性;提高了了代码的可维护性,可扩充性;

缺点:易读性比较不好,调试比较困难; 模板只能定义在头文件中,当工程大了之后,编译时间十分的变态;


3、封装

C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

封装性实际上是由编译器去识别关键字publicprivateprotected来实现的,体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protected)

私有成员是在封装体内被隐藏的部分,只有类体内说明的函数(类的成员函数)才可以访问私有成员,而在类体外的函数时不能访问的,公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员,保护成员是只有该类的成员函数和该类的派生类才可以访问的。

优点:隔离变化,保护内部数据不被随意修改;便于使用;提高重用性;提高安全性。

缺点:如果封装太多,影响效率;使用者不能知道代码具体实现。

 

总结:C++语言是对C语言的扩充,它既有数据抽象和面向对象的能力,而且运行性能高,加上对C语言的普及,而从使C语言到C++语言的过渡较为平滑,且C++语言与C语言的兼容程度可使数量巨大的C语言程序能方便地在C++语言环境中复用,使C++语言在短短几年内能流行。

 

 

以上就是有关C++语言的常用特性的相关内容了,想要了解更多有关c++的其它知识也可关注六星社区网站。

  • 发表于 2021-08-25 11:41
  • 阅读 ( 470 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
小柒
小柒

1312 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1312 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章