C++从0到1基础教程之const成员与static成员,10段代码助你零基础修行C++

 

前言

上一章节主要是详细介绍了类的组合。不清楚的可以回顾一下哦。本章节主要针对于C++中的特殊成员做一个详细介绍。

 

类的特殊成员

类的特殊成员:

  1. const成员

  2. static成员

const成员

const数据成员

1.必须采用初始化参数列表做初始化,即:

类名::类名(形参表):对象1(参数),对象2(参数)……

2.const数据成员只能被使用,不能被修改,即常属性

如下测试代码:

image.png

const成员函数

用const修饰的函数叫做常成员函数,注意点:

  1. const 修饰词写在修饰函数的后面

  2. 常成员函数不能修改数据成员

image.png

 

常对象

用const修饰的对象,我们称之为常对象 ,对于常对象只能调用常成员函数,切记切记!!如下代码:

image.png

当类中存在普通函数和常成员函数时 ,普通对象优先调用普通函数,常对象只能调用常成员函数。

static成员

static数据成员

static数据成员:使用static修饰的数据成员

  1. 静态数据成员须在类外初始化,类外时不需要static

  2. 静态数据成员不属于对象,它的访问可以不需要对象

  3. 静态数据成员属于类故依旧受权限限定词限定

  4. 静态数据成员的调用要用类名::限定

image.png

上述代码之所以报错,因为受权限限定,改为public即可成功运行,如下代码:

image.png

 

static成员函数

 

static成员函数:使用static修饰的成员函数

  1. 静态函数类外实现时不需要static

  2. 静态函数不属于对象,它的访问可以不需要对象

  3. 静态函数属于类故依旧受权限限定词限定

  4. 静态函数的调用要用类名::限定

image.png

 

静态成员与普通成员的交互

因为静态数据成员的访问不要对象,所以当静态函数调用非静态数据成员时需要指定对象,指定对象的方式主要有三种:

  1. 静态成员函数以对象指针为参数

  2. 静态成员函数以对象为参数

  3. 在静态函数中产生对象

image.png

对于静态函数调用静态数据成员则可以不需要这么麻烦,因为两者都可以不需要对象即可访问,

如下代码:

image.png

而对于对象来说可以像普通函数一样调用静态成员,当然权限一定是public属性,如下代码:

image.png

 

尾言

本节课就到这里了,本章节作业: 用C++特殊成员封装一个注册类,能自动记录目前注册用户数,并且每一个用户有且只有唯一的一个编号。

扫码关注1.jpg

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值