C++:05---class和struct
C++被称为“C with class”,可见在C++中class是多么重要,与class类似的一个结构就是struct了,struct最早是在C语言中出现的,在C++中对struct的功能也进行了扩展。
class :
public(公有):在类内外、派生类中都可被访问
protected(保护):希望与派生类共享但是不想被公共访问所使用的访问权限。在基类和派生类中(派生类的友元也可以访问)可以被访问,在类外无法访问
private(私有):只有在类内可被访问,类外和子类无法访问
注意事项:
成员不写访问属性时,类的默认访问属性为private
与结构体的不同:结构体默认属性为public
下面就来说一说struct和class的区别吧:
1、默认的继承权限
struct默认是公有继承(public),class默认是私有继承(private)
2、关于默认访问权限
class中默认的成员访问权限是private的,而struct中则是public的。
3、关于大括号初始化问题
struct在C语言中:
在C语言中,我们知道struct中是一种数据类型,只能定义数据成员,不能定义函数,这是因为C语言是面向过程的,面向过程认为数据和操作是
C++:05---class和struct相关推荐
- 深入理解并行编程-分割和同步设计(四)
原文链接 作者:paul 译者:谢宝友,鲁阳,陈渝 图1.1:设计模式与锁粒度 图1.1是不同程度同步粒度的图形表示.每一种同步粒度都用一节内容来描述.下面几节主要关注锁,不过其他几种同步 ...
- 深入理解并行编程-分割和同步设计(五)
原文链接 作者:paul 译者:谢宝友,鲁阳,陈渝 并行快速路径 细粒度的设计一般要比粗粒度的设计复杂.在许多情况,绝大部分开销只由一小部分代码产生[Knu73].所以为什么不把精力放在这 ...
- go扩展ticker实现优雅起停
目录 ticker源码分析 关键源码 ticker核心源码 startTimer stopTimer sentTime 核心源码 源码解读 分析 注意事项 ticker优化关闭思路 MyTicker代 ...
- 01 二叉树的BFS(广度、层次或水平遍历实现)【Binary Tree 二叉树】
二叉树的遍历分为BFS和DFS两种大类 下面完整实现BFS遍历二叉树 * 例如二叉树* 1* / \* 2 3* /\* 4 5 BFS遍历结果:1-2-3-4-5 具体的代码实现: 方法一.采用递归 ...
- 程序员编程艺术:第九章、闲话链表追赶问题
程序员编程艺术:第九章.闲话链表追赶问题 作者:July.狂想曲创作组. 出处:http://blog.csdn.net/v_JULY_v . 前奏 有这样一个问题:在一条左右水平放置的直线轨 ...
- ML—AdaBoost(二)—MATLAB代码
华电北风吹 天津大学认知计算与应用重点实验室 修改日期:2015/7/27 在网上看了几篇AdaBoost的介绍后,感觉网上介绍的都不好,不能够让人完全理解,因此就下载了一个外国人写的代码,总算透彻的 ...
- Struct 和 Class 性能有差异吗?自己测试
一直以来,我总是听到关于在字段较少时,使用结构将获得更佳的性能,我对此一直深信不已,今天因为需要写一个性能要求较高的程序,所以特地写一段测试程序来验证是不是真的正确. 我建立了1个结构以及2个 ...
- [译]Vulkan教程(05)Instance
[译]Vulkan教程(05)Instance Creating an instance 创建一个instance The very first thing you need to do is ini ...
- Python天天美味(13) - struct.unpack
转载自:http://www.cnblogs.com/coderzh/archive/2008/05/04/1181462.html Python中按一定的格式取出某字符串中的子字符串,使用struc ...
- golang struct 转map 及 map[string]*Struct 初始化和遍历
package mainimport ("encoding/json""errors""fmt""reflect"&qu ...
最新文章
- vue element的若干问题
- 太 6 了!区块链包包、疫情防控大脑……程序员这样玩转区块链!
- OpenCASCADE:Foundation Classes数据类型
- c语言提高 17,C语言提高-第17讲: 一维数组的定义和引用(数组大折腾)
- 移动端点击屏幕按钮闪现的灰色底框
- 循环神经网络 递归神经网络_了解递归神经网络中的注意力
- tf.transpose
- 分支限界算法c语言_算法学习计划
- 程序员干货学习资源(持续更新)
- ARP表和MAC表的区别
- MATLAB Codesys,Matlab程序导入Codesys PLC教程
- Python学习之文件13
- ROS 问题(topic types do not match、topic datatype/md5sum not match、msg xxx have changed. rerun cmake)
- 爬虫干货 | 爬虫IP代理模块介绍及实战
- DELL服务器 R740的风扇设置
- ajax——请求消息(request)和响应消息(response)
- layer的anim动画
- mitmproxy 抓包神器-1.环境准备与抓取浏览器请求
- 一文实现0~9手写数字识别系统
- Castor简单介绍实体类和xml互转
热门文章
- bbb sd6 无e2 修改
- getsockname与getpeername
- 深入浅出单实例Singleton设计模式
- 客户机和服务器在s7通信中各有什么作用,哪些通信口可以进行 Modbus TCP 通讯,作为 Modbus 服务器的 SIMATIC S7 CPU 可以...
- C语言依次显示图片,c语言能显示图片吗
- efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集
- 26享元模式(Flyweight Pattern)
- ABP入门系列(12)——如何升级Abp并调试源码
- 一步步编写操作系统 30 cpu的分支预测简介
- php病毒图片后缀名,脚本图片类后门病毒的完美使用方法