C和C++中结构体的区别?struct和class的区别?
C和C++中结构体的区别:
1、C的结构体中不能有函数,C++中允许有函数存在、且可以是虚函数;
2、C的结构体不能加权限(默认是public),C++的结构体有三种权限public、protect、private(默认是public);
3、C的结构体不可以进行继承,C++的可以被继承;
4、C的结构体不可以初始化成员变量,C++中的结构体可以初始化成员变量、成员函数;
5、C中的结构体的使用要加上struct关键字,或者用typedef取别名后直接使用,C++中的结构体使用时不需要加struct关键字;
struct和class的区别:
1、struct一般用于描述一个数据结构集合,而class是一个对象数据的封装;
2、struct默认权限是是public,class的默认权限是private;
注意:虽然struct和class有很大相似度,而class面向对象的基础,而struct只可以理解为类class的前身。
共有 0 条评论