class和struct的区别
来源:互联网 发布:郑州的外企知乎 编辑:程序博客网 时间:2024/06/12 19:57
struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!
既然这些它都能实现,那它和class还能有什么区别?
最本质的一个区别就是默认的访问控制:
默认的继承访问权限
struct是public的,class是private的。
你可以写如下的代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
这个时候B是public继承A的。
如果都将上面的struct改成class,那么B是private继承A的。这就是默认的继承访问权限。
当然,到底默认是public继承还是private继承,取决于子类而不是基类。
我的意思是,struct可以继承class,同样class也可以继承struct,那么默认的继承访问权限是看子类到底是用的struct还是class。如下:
- 1
- 2
- 3
- 1
- 2
- 3
struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的
区别二:“class”这个关键字还用于定义模板参数,就像“typename”。但关键字“struct”不用于定义模板参数。
0 0
- struct和class的区别
- struct和class的区别- -
- struct和class的区别
- class和struct的区别
- struct和class的区别
- struct和class的区别
- class 和 struct 的区别
- Struct 和 Class 的区别
- class和struct的区别
- Struct和Class的区别
- class和struct的区别
- struct和class的区别
- struct 和class的区别
- struct和class的区别
- Struct和Class的区别
- class 和 struct的区别
- Struct和Class的区别
- struct和class的区别
- C++中namespace的理解与实践
- 关于Unity3D自定义编辑器的学习
- 9 关键活动
- 利用C#和ArcGis
- LeetCode No.461 HammingDistance
- class和struct的区别
- 微信网站应用一键登录--Thinkphp
- ubuntu安装POSIX文档出现问题
- vue.js学习笔记
- Jenkins server
- linux查询命令
- 【腾讯云的1001种玩法】零基础微信机器人实践-云技术对个人开发者的影响
- Spring的三种注入方式
- PTA