设计思想上:
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标准模板库来支持数据结构和算法