c++和c的区别

1.设计思想上
c++面向对象的语言
c 面向过程的结构化编程语言
面向对象:面向对象-百度百科

封装:把客观事物抽象成类,每个类对自己的数据和方法进行访问权限保护
继承:可使用现有类的所有功能,在无需重新编写原来的类的情况下对这些功能进
     行扩展。
多态:可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,
	 面向对象的核心,多态的目的则是为了接口重用。

面向过程:面向过程-百度百科

1)考虑的是实际地实现.2)  一般从上往下步步求精.3)最重要的是模块化的思想方法.
当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,
按着模块与函数的方法可以很好的组织.

2.语法上
(1)c++具有重载,继承,多态三种特性。
(2)c++增加了许多类型安全功能(如强制类型转换)

类型安全代码指访问被授权可以访问的内存位置。
例如,类型安全代码不能从其他对象的私有字段读取值。它只从定义完善的允许方式访问
类型才能读取。
c++中:
(1)操作符new返回的指针类型严格与对象匹配,而不是void*;
(2)C中很多以void*为参数的函数可以改写为C++模板函数,而模板是支持类型检查的;
(3)引入const关键字代替#define constants,它是有类型、有作用域的,而#define
 constants只是简单的文本替换;
(4)一些#define宏可被改写为inline函数,结合函数的重载,可在类型安全的前提下
 支持多种类型,当然改写为模板也能保证类型安全;
(5)C++提供了dynamic_cast关键字,使得转换过程更加安全,因为dynamic_caststatic_cast涉及更多具体的类型检查。

(3)c++支持范式编程(如模板类,函数模板)

发布了27 篇原创文章 · 获赞 1 · 访问量 1297

猜你喜欢

转载自blog.csdn.net/qq_43496675/article/details/104194840