Different between keyword `class` and `struct`
目录

C中struct与C++中class区别

  • struct 无成员函数;class 有成员函数,可以写重载、虚函数等。
  • class 可以继承class,进而函数可以进行动态绑定(override);struct 不可以。
  • class 创建包含申请内存和初始化成员两个步骤;struct 只包含申请内存步骤。
  • class 可以写模板类;struct 不可以。
  • 如果没有数据成员,那么C++中sizeof(class)为1,而C中sizeof(struct)为0。

C++中struct与class区别

  • struct 成员变量和函数默认是public权限;class 成员变量和函数默认为private权限。
  • struct 继承默认按照public继承处理;class 继承默认按照private继承处理。
  • c++ template中class和typename为类型声明关键字,struct不可以。

发表评论