1.1 请根据你的了解,叙述C++的特点。C++对C有哪些发展?

  • C++主要有三个特点,即封装性、继承性和多态性。
  • 封装性:对于"计算机"这个类,我们将"计算机"的属性(如:颜色、重量、体积、样式等)和行为(启动、关机、散热等)全部打包封装在计算机类中,这样一方面使我们可以容易地看出这些属性和行为的"主人"是什么,进一步方便使用;另一方面也使这些属性和行为不会被错误地访问(例如,汽车也有启动这一行为,这就与计算机的启动行为重复,那么到底访问的是哪一个呢?)。这体现了面向对象编程的封装性。

  • 继承性:在设计了计算机类之后,我们又想设计一个笔记本计算机类,按照一般的思路应该再重新设计一个类。此时发现笔记本计算机类和计算机类很相似。与计算机类相比,笔记本计算机类只不过在属性上多了一个"电池",在方法上多了"打开盖子"和"安装电池",而且在逻辑上讲,它们是"同属"的关系,即笔记本计算机是计算机的一种。在这种关系下,可以在它们之间建立派生关系,让笔记本计算机类从计算机类中扩展出来,这相当于在计算机类原有的属性和方法的基础上扩展一些新的属性和方法,这样就产生了笔记本计算机类。

  • 多态性:但是,上面的设计也有一些问题,因为笔记本计算机与计算机之间的某些方法在具体实现上有细微的差别,如散热,通常台式机由于体积大,散热性能较好,而笔记本计算机体积小,散热性能较差,因此可能需要在外部增设一些散热设备。这就需要在笔记本计算机类中对"散热"方法再次定义,而在计算机类中只是模糊地提一下散热的概念,这体现的是面向对象程序设计的多态性。

  • C语言具有很强的数据处理能力,不仅仅是在软件开发上,在各类科研中都会用到它。但是随着软件规模和复杂度的增加,C语言渐渐有些不合时宜了,这主要体现在数据的封装上,这一点使C语言在数据的安全性上有很大的缺陷。另外,C语言属于面向过程的编程语言,这在企业级的大型程序中无法更好地实现分工。为了应对上述困难,C++语言应运而生,信息屏蔽是C++的一大特点。C++语言几乎继承了C语言的所有优点,但与C语言最大的区别在于"类(class)“的出现,类的出现使抽象程度更高的面向对象编程与泛型编程成为可能。另外,和C语言相比,C++语言引入了更多的特性,包括陈述性声明、类似函数的强制转换、new/delete操作符、布尔类型、参考类型、默认函数、函数重载、命名空间、类(包括所有和类相关的特性,如继承、成员函数、虚函数、抽象类等)、操作符重载、模板、”::"操作符、异常处理和运行时期识别等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值