C与C++的

mac2024-03-28  38

设计思想上:

C++是面向对象的语言; C是面向过程的结构化编程语言

语法上:

C++ 在 C的基础上增加了封装、继承、多态三种特性C++相比C,增加了许多类型安全的功能,比如强制类型转换C++支持泛型编程,比如模板类、函数模板等

C++多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数; 

形成多态必须具备三个条件:

1、必须存在继承关系;

2、继承关系必须有同名虚函数(其中虚函数是在基类中使用关键字Virtual声明的函数,在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数);

3、存在基类类型的指针或者引用,通过该指针或引用调用虚函数;

其他:

C++有三种编程方式:过程性,面向对象,泛型编程。C++函数符号由 函数名+参数类型 组成,C只有函数名。所以,C没有函数重载的概念。C++增加了异常处理,C没有异常处理C++增加了bool型C++允许无名的函数形参(如果这个形参没有被用到的话)C允许main函数调用自己C++支持默认参数,C不支持C语言中,局部变量必须在函数开头定义,不允许类似for(int a = 0; ;;)这种定义方法。C++增加了引用C允许变长数组,C++不允许C中函数原型可选,C++中在调用之前必须声明函数原型C++增加了STL标准模板库来支持数据结构和算法
最新回复(0)