当前位置:网站首页>类和结构体
类和结构体
2022-08-09 06:59:00 【想做后端的前端】
C++中类和结构体
在C++中,结构体是一种特殊形态的类。
结构体和类的唯一区别就是: 结构体和类具有不同的默认访问控制属性。
- 类中,对于未指定访问控制属性的成员,其访问控制属性为私有类型(private)
- 结构体中,对于未指定任何访问控制属性的成员,其访问控制属性为公有类型(public)
C++中,不使用结构体丝毫不会影响程序的表达能力。C++之所以要引入结构体,是为了保持和C程序的兼容性。
但有时仍会在C++中使用结构体,是因为,可以使用结构体将不同类型数据组成整体,方便于保存数据。(若用类来保存,因类中成员默认为私有,还要为每个数据成员特定函数来读取和改写各个属性,比较麻烦。)
C中结构体
C语言中结构体不允许定义函数成员,且没有访问控制属性的概念。
C++为C语言中的结构体引入了成员函数、访问控制权限、继承、包含多态等面向对象特性。
C++在struct之外引入了class关键字,但为了保持与C程序的兼容,C++保留了struct关键字,并规定结构体默认访问控制权限为公有类型。
另外,C语言中,空结构体的大小为0,而C++中空结构体(属于空类)的大小为1。
C++中空类的大小为1的原因:
空类也可以实例化,类实例化出的每个对象都需要有不同的内存地址,为使每个对象在内存中的地址不同,所以在类中会加入一个隐含的字节。
边栏推荐
- 线程池总结
- 入门cv必读的10篇baseline论文
- 找出数组中不重复的值php
- 虚拟机网卡报错:Bringing up interface eth0: Error: No suitable device found: no device found for connection
- INSTALL_RPATH and BUILD_RPATH problem in CMake
- 日期处理,字符串日期格式转换
- 分布式事务的应用场景
- 浅识微服务架构
- Leetcode 70 stairs issues (Fibonacci number)
- SIGINT, SIGKILL, SIGTERM signal difference, summary of various signals
猜你喜欢

字节跳动笔试题2020 (抖音电商)

Error jinja2.exceptions.UndefinedError: 'form' is undefined

install flask

Use baidu EasyDL intelligent bin

找不到和chrome浏览器版本不同的chromedriver的解决方法

(本章节完结)排序第五节——非比较排序(计数排序+基数排序+桶排序)(附有自己的视频讲解)

Mysql实操

排序第二节——选择排序(选择排序+堆排序)(两个视频讲解)

虚拟机网卡报错:Bringing up interface eth0: Error: No suitable device found: no device found for connection

排序第四节——归并排序(附有自己的视频讲解)
随机推荐
mysql summary
Singleton DCL (double check the lock) full han mode and the hungry
VS2019 common shortcut keys
DSP+ARM+FPGA高速PCIE/千兆网口信号仿真介绍
MVN 中配置flyway mysq
Explain the wait() function and waitpid() function in C language in detail
排序第一节——插入排序(直接插入排序+希尔排序)(视频讲解26分钟)
AD的library中 库文件后缀有.intlib .schlib .pcblib 的区别
神经网络优化器
leetcode 之盛水问题
【Shell】查找进程的pid并根据pid获取该进程所占用的端口号以及该进程在系统中所下达的指令名称
APP商品详情源数据接口(淘宝/京东/拼多多/苏宁/抖音等平台详情数据分析接口)代码对接教程
高项 01 信息化与信息系统
排序第二节——选择排序(选择排序+堆排序)(两个视频讲解)
P6阿里机试题之2020 斐波那契数
金九银十即将到来,求职套路多,面试指南我来分享~
sklearn数据预处理
Search 1688 product interface by image (item_search_img-search 1688 product by image (Politao interface) code docking tutorial
The singleton pattern
stm32定时器之简单封装