欢迎光临散文网 会员登陆 & 注册

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

2020-08-25 16:09 作者:C语言基础  | 我要投稿

前言

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

类的特殊成员

类的特殊成员:

  1. const成员

  2. static成员

const成员

const数据成员

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

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

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

如下测试代码:

const成员函数

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

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

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


常对象

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

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

static成员

static数据成员


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

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

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

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

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

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


static成员函数


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

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

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

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

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


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

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

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

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

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

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

如下代码:

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


尾言

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


C++从0到1基础教程之特殊成员,10段代码助你零基础修行C++的评论 (共 条)

分享到微博请遵守国家法律