const成员变量、const成员函数和const对象

const成员变量的特性:
1.初始化 const 成员变量只有一种方法,就是通过参数初始化表。

格式:
const int num;

const成员函数的特性:
1.可以访问成员变量,但不能修改成员变量。
2.不能调用非const成员函数,因为成员函数可以修改成员变量的值。

格式:
void fun() const
{
    // 代码
}

const对象的特性:
1.可以访问成员变量,但不能修改成员变量。
2.不能调用非const成员函数。

格式:
const 类名 对象名(实参名);
类名 const 对象名(实参名);

程序实例:

#include <iostream>

using namespace std;

class Demo
{
private:
    int num;
public:
    // 参数初始化表,初始化const成员变量
    Demo() : num(98)
    {
        cout << "调用构造函数" << endl;
    }

    void setNum()
    {
        num = 100;
    }

    void printNum() const
    {
        // setNum(); //此处调用会报错,原因:const成员函数不能调用非const成员函数
        cout << "打印num:" << num << endl;
    }
};

int main(int argc, char *argv[])
{
    // const对象
    const Demo demo;
    demo.printNum();
    return 1;
}

输出:
调用构造函数
打印num:98

 

posted @ 2023-05-18 16:21  jason8826  阅读(45)  评论(0编辑  收藏  举报