现在的位置: 首页 > 综合 > 正文

C++:struct与class的区别

2018年02月18日 ⁄ 综合 ⁄ 共 348字 ⁄ 字号 评论关闭

C++中的struct对C中的struct进行了扩充,它不再只是一个包含不同数据类型的数据结构,它已经获取了太多的功能。 struct能包含成员函数,struct能继承,struct能实现多态。

1)关于使用大括号初始化

  如果定义了构造函数,class和struct都不能用大括号进行初始化。
  如果没有定义构造函数,struct可以用大括号初始化。
  如果没有定义构造函数,且所有成员变量全是public的话,class可以用大括号初始化。

2)关于默认访问权限

  class中默认的成员访问权限是private的,而struct中则是public的。

3)关于继承方式

  class继承默认是private继承,而struct继承默认是public继承。参考:private继承与public继承

抱歉!评论已关闭.