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

    xiaoxiao2022-06-30  179

     

    前言

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

     

    类的特殊成员

    类的特殊成员:

    const成员

    static成员

    const成员

    const数据成员

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

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

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

    如下测试代码:

    const成员函数

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

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

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

     

    常对象

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

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

    static成员

    static数据成员

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

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

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

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

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

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

     

    static成员函数

     

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

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

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

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

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

     

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

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

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

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

    在静态函数中产生对象

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

    如下代码:

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

     

    尾言

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

     

    转载请注明原文地址: https://ju.6miu.com/read-1126313.html

    最新回复(0)