上一章节主要是详细介绍了类的组合。不清楚的可以回顾一下哦。本章节主要针对于C++中的特殊成员做一个详细介绍。
类的特殊成员:
const成员
static成员
const成员
const数据成员
1.必须采用初始化参数列表做初始化,即:
类名::类名(形参表):对象1(参数),对象2(参数)……
2.const数据成员只能被使用,不能被修改,即常属性
如下测试代码:
const成员函数
用const修饰的函数叫做常成员函数,注意点:
const 修饰词写在修饰函数的后面
常成员函数不能修改数据成员
用const修饰的对象,我们称之为常对象 ,对于常对象只能调用常成员函数,切记切记!!如下代码:
当类中存在普通函数和常成员函数时 ,普通对象优先调用普通函数,常对象只能调用常成员函数。
static数据成员
static数据成员:使用static修饰的数据成员
静态数据成员须在类外初始化,类外时不需要static
静态数据成员不属于对象,它的访问可以不需要对象
静态数据成员属于类故依旧受权限限定词限定
静态数据成员的调用要用类名::限定
上述代码之所以报错,因为受权限限定,改为public即可成功运行,如下代码:
static成员函数
static成员函数:使用static修饰的成员函数
静态函数类外实现时不需要static
静态函数不属于对象,它的访问可以不需要对象
静态函数属于类故依旧受权限限定词限定
静态函数的调用要用类名::限定
因为静态数据成员的访问不要对象,所以当静态函数调用非静态数据成员时需要指定对象,指定对象的方式主要有三种:
静态成员函数以对象指针为参数
静态成员函数以对象为参数
在静态函数中产生对象
对于静态函数调用静态数据成员则可以不需要这么麻烦,因为两者都可以不需要对象即可访问,
如下代码:
而对于对象来说可以像普通函数一样调用静态成员,当然权限一定是public属性,如下代码:
本节课就到这里了,本章节作业: 用C++特殊成员封装一个注册类,能自动记录目前注册用户数,并且每一个用户有且只有唯一的一个编号。