前言
我们这里讨论的是cpp下的struct。
首先cpp下的class和struct差不多,比如说都可以用public
,private
,protected
等属性,还可以用成员函数,但还是有一些区别的。
默认数据属性不同
struct的默认数据是public的,而class默认的是private的。
class的最后会编译错误。
默认继承方式不同
struct默认是公有继承,class默认是私有继承。其实也挺好理解的,struct默认数据属性就是public的,难道继承后子类就变成了private了吗。
最后class继承的还是会编译错误,因为是private继承,不能在类外访问类内数据。
总结
我们为了数据安全一般定义类的时候用class,struct一般用户不同类型数据的一个集合。