- struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;
- struct 中默认的访问控制权限是 public 的,而 class 中默认的访问控制权限是 private 的,例如: ``` struct A { int iNum; // 默认访问控制权限是 public }
class B { int iNum; // 默认访问控制权限是 private } ```
- 在继承关系中,struct 默认是公有继承,而 class 是私有继承;
- class 关键字可以用于定义模板参数,就像 typename,而 struct 不能用于定义模板参数,例如:
template
// 可以把typename 换成 class int Func(const T& t, const Y& y) { //TODO }
参考: 牛客网c++面试宝典
