14.数据成员属性

2023-05-16

目录

  • 1.静态属性:
  • 2.类中的静态成员:
  • 3.类中的静态函数:
  • 4.类中的const成员
  • 5.类中的常量成员
  • 6.类中的常量函数:
  • 7.常量对象:

1.静态属性:

  • 回顾C语言的静态变量特点:
  1. 静态全局变量,只能在当前文件中使用
  2. 修饰局部变量的时候,局部变量只能被初始化一次
  3. 修改函数,只能在当前文件中使用
  4. 静态变量会改变数据的生命周期 (把栈空间的数据改为数据段)

2.类中的静态成员:

1.类中的静态成员只能在类外初始化
         int base::a=100;  //类外初始化 
2.类中的静态成员,不包含在对象空间中,因为静态成员是存储在数据段中的。 
       例如: class base{
                        public:
                     static  int a;}   ->大小为 1 。a不在base 的空间中
3.类中的静态成员,可以直接通过 《类名::变量名》 直接调用。 (一定要是公共成员)
4.类中的所有对象,共用静态成员。

3.类中的静态函数:

1.类中的静态函数,不能使用this 指针, (不是对象空间中的函数)
2.类中的静态函数,不能访问类中的非静态成员数据。 
(因为非静态成员数据,要定义对象后才产生空间,因为静态成员函数是先于对象存在的,静态成员函数,就无法访问)
3.静态成员函数是先于对象存在的,所以我们可以 《直接调用共有的静态成员函数》不需要创建对象! 
    
//总结:静态成员函数的优点:1.方便用户的调用  2.不需要创建对象直接调用,节省内存空间

设计如下一个文件管理类:

class  file 
{
  	//构造函数  
     
	//静态读取文件的内容接口
  
	//文件的路径名    
}
//可以实现在不创建 file 对象的情况下,直接读取文件中的内容。 

4.类中的const成员

回顾c语言中的const 变量:

const int *p; //不能修改,指向的内容 

int const *p;//不能修改,指向的内容

int *const p;//不能修改指向的地址

const int *const p;//不能修改指向的内容与地址 


找规律: 看星星 ⭐
    如果*和p 一起的,就是内容不可变 
    如果是分开的,就地址不可变.
  • 常量成员的作用

    ​ 作用:提高代码的稳定性与安全性。

    const int a=100;

5.类中的常量成员

1.类中的常量成员,必须要初始化,否则无法定义对象。 (构造函数中的参数列表初始化,默认值)
2.常量被初始化后无法再次修改     

6.类中的常量函数:

1.类中的常量函数的定义     const 需要添加在函数的后面 
     void show() const  
2.类中的常量函数不能《修改》,类中的《所有》数据成员。  (保护了类中的数据成员,更加安全)

3.假设用户想要数据被常量函数修改,那么就在数据前添加   mutable 关键字即可
    

7.常量对象:

1.利用const 修饰的对象就是常量对象     
2.常量对象,无法修改类中的公共成员 
3.常量对象,假设想要修改类中的公共成员,那么必须使用  mutable 说明
4.常量对象,只能调用常量函数。无法调用普通函数 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

14.数据成员属性 的相关文章

随机推荐

  • STM8S 功耗总结

    http blog sina com cn s blog 542bad910101ral2 html STM8S103 STM8S003 PA1脚虽可以用外部中断唤醒CPU xff0c 但功耗过大 xff0c 有300uA电流 xff0c
  • ESP32四轴飞控硬件设计

    一 前言 目前许多入门级开源飞控都是基于STM32系列的 xff0c 基于此系列的有非常严重的短板 xff0c 例如说通信方面 xff0c 需要外置通信模块 ESP32本身带有WIFI和蓝牙 xff0c 在通信方面有着一定的优势 xff0c
  • C++弹窗拦截程序,弹窗广告怎么关闭?不用问,我教你怎么屏蔽!

    现在大家使用电脑的频率越来越高 xff0c 上课写作业 上班做工作 娱乐生活 在家购物等 xff0c 我们使用电脑的时间越来越长 相信很多人都和小编一样 xff0c 经常遇到电脑的右下角出现出现弹窗广告的问题 要去叉掉就很麻烦 而且有时候想
  • VNC远程桌面使用方法

    参考 xff1a https blog csdn net weixin 41803874 article details 81233789 一共两台电脑 xff0c 分别为服务端和客户端 xff0c 为与场景联系方便 xff0c 我们将需要
  • 激光雷达闭环检测/地点识别算法OverlapTransformer/SeqOT(2022)

    最新激光雷达闭环检测 地点识别算法 OverlapTransformer已经完整开源 xff0c 相关论文已经被RAL IROS 2022收录 https github com haomo ai OverlapTransformer Ove
  • 我的创作纪念日

    初心未改 xff0c 继续向前
  • 最新激光雷达闭环检测/地点识别算法CVTNet(2023)

    CVTNet以激光点云多类投影生成的二维图为输入 xff0c 利用cross transformer将多类信息交叉融合 xff0c 为激光点云提取强特异性描述子 xff0c 实现SLAM闭环检测或全局定位功能 此外 xff0c CVTNet
  • python使用ffmpeg推流出现OSError: [Errno 2] No such file or directory

    python使用ffmpeg推流出现OSError Errno 2 No such file or directory 具体错误如下 xff1a Traceback span class token punctuation span mos
  • GDB调式工具学习笔记---单步执行和跟踪函数调用

    GDB调式工具学习笔记 单步执行和跟踪函数调用 简介1 单步执行和跟踪函数调用1 1 示例程序1 2 常用命令1 2 1 help1 2 2 list l 1 2 3 quit1 2 4 start1 2 5 next xff08 n xf
  • GDB调式工具学习笔记---断点

    GDB调式工具学习笔记 断点 2 断点2 1 示例代码2 2 常用命令2 2 1 display和undisplay2 2 2 break b 2 2 3 continue xff08 c xff09 2 2 4 disable2 2 6
  • C语言网络编程——UDP

    C语言网络编程 UDP 2 1 基于UDP的网络编程2 2 1 服务端实现2 2 2 客户端实现 2 1 基于UDP的网络编程 2 2 1 服务端实现 使用socket函数 xff0c 创建一个socket使用bind 函数 xff0c 绑
  • STM8S电源管理-重点活跃停机模式

    http blog sina com cn s blog 542bad910101qkru html
  • 多态的定义

    多态是什么 xff1f 多态 polymorphism 是面向对象编程 OOP object oriented programming 的一个重要特征 xff0c 顾名思义为多种形态 xff0c 详细解释为一个接口 xff0c 多种实现 x
  • 虚函数实现多态的原理

    1 C 43 43 中如何实现多态 基类中先声明一个虚函数至少有一个继承该基类的子类 2 虚函数实现多态的原理 当一个类中出现虚函数或着子类继承了虚函数时 xff0c 就会在该类中产生一个虚函数表 xff08 virtual table x
  • 停车场车牌识别项目

    停车场车牌识别项目 简介开发环境技术栈1 Sqlite2 TTS3 摄像头使用教程 实现效果图源码 简介 该项目的应用场景为停车场 xff0c 记录车辆的进出时间 xff0c 对车辆进行收费 开发环境 Windows 下的 QT 技术栈 Q
  • STM32串口输出字符串

    目录 串口步骤1 确定 IO 口并初始化2 初始化 UATR3 UART 中断配置4 编写 UART 中断服务函数5 1 方法一 xff1a 重定向 fputc 5 2 方法二 xff1a 将字符串分割成一个一个字符发送出去 效果附源码 串
  • 常用Linux命令

    目录 Shell常用Shell命令1 目录操作类2 文本操作类3 用户管理4 文件权限类5 磁盘管理类6 网络操作类7 控制终端类8 开关机类 Shell小技巧 Shell shell是一个应用程序 xff0c 作为用户与内核信息传递的桥梁
  • VSCode与Keil联合开发STM32

    目录 1 为什么要联合开发2 配置VSCode的环境1 安装c c 43 43 2 安装Embedded IDE3 设置编译工具4 导入 STM32 工程5 配置编译器选项6 烧录工具选择 3 附 1 为什么要联合开发 Keil容易出现中文
  • 8.类的继承

    目录 1 继承的定义2 继承的作用3 继承的语法4 类继承成员属性的访问权限5 利用参数列表 xff0c 初始化父类的私有成员6 继承中的构造函数与析构函数7 总结共继承的权限问题8 类中的隐藏问题9 类中的多继承10 类中多级继承11 菱
  • 14.数据成员属性

    目录 1 静态属性 xff1a 2 类中的静态成员 xff1a 3 类中的静态函数 xff1a 4 类中的const成员5 类中的常量成员6 类中的常量函数 xff1a 7 常量对象 xff1a 1 静态属性 xff1a 回顾C语言的静态变