C++:struct与class的区别

来源:互联网 发布:淘宝发布品牌不能为空 编辑:程序博客网 时间:2024/06/11 22:01

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继承

原创粉丝点击