struct 在C++中可以定义类,可以实现继承,可以实现多态,其实除了在权限控制上和class可以在定义模板类而struct不可以之外,二者其实没有多大区别了。
在类的第一个访问控制符之前定义的数据成员的访问权限,取决于类的定义方式,如果是用class来定义的话,则此时默认的访问控制符是private,如果使用struct来定义的话,此时默认的访问控制符是public。
下面我们来放在访问权限的区别的。当使用struct时,继承之后,取决与子类,如果子类是用struct定义的话,则访问权限是public,如果子类使用class定义的话,访问权限是private。
综上所述,当需要定义一个 数据结构属性比较强的类的时候,使用struct,当定义一个对象属性比较强的时候,用class。