#C++和C之间的区别:
设计思想上:
- C++是面对对象的语言,而C是面向过程的结构化编程语言
语法上:
- C++具有封装性,继承性,多态性
- 封装性:隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互,将数据和操作数据的方法进行有机结合
- 继承性:
- C++相比较C,增加了许多类型安全的功能,比如强制类型转换
- C++支持范式编程,比如模板类,函数模板
C++与Java的区别
- Java是纯面向对象的编程语言,所有的变量和方法都在类中定义,而C++为了兼容性,还保留了部分面向过程的特性
- C++是编译型强类型语言,由编译器直接编译成本地机器识别的机器语言,Java是半编译半解释型语言,由编译器得到class字节码文件,然后由虚拟机解释执行
- Java中没有指针,虽然虚拟机第层实现还是依赖指针,但不对外开放,更加安全
- C++可以实现多继承抽象基类,而Java只能实现单继承,但可以进行接口多实现和接口多继承
- C++有类还有结构体、联合体,其中类成员变量默认访问权限为private,JAVA只有类,类的成员变量默认访问权限为default,是一种包可见访问权限
- C++可以进行函数重载、还可以进行运算符重载JAVA只允许函数重载、不允许运算符重载