C++类中的const成员变量和const成员函数

下面通过例子说明

cpp 复制代码
#include <iostream>

class Example {
public:
    const int constVar = 42; // 常量成员
    int Var = 1; // 普通变量

    void normalFunction() {
        std::cout << "Accessing constVar in normalFunction: " << constVar << std::endl;
        Var++;
        std::cout << "Modifying Var in normalFunction: " << Var << std::endl;
    }

    void constFunction() const {
        std::cout << "Modifying Var in constFunction: " << constVar << std::endl;
        //Var++;   // const函数不能修改变量
        std::cout << "Modifying Var in constFunction: " << Var << std::endl;
    }
};

int main() {
    Example ex;
    ex.normalFunction(); // 访问常量
    ex.constFunction();  // 访问常量
    return 0;
}

成员函数的 const 修饰符 :当在类中定义成员函数并将其标记为 const 时,它表示该函数不会修改类的成员变量。也就是说,在 const 成员函数中,不能修改任何非 const 的成员变量,但仍然可以访问各种成员变量。

相关推荐
mit6.824几秒前
中位数贪心|前缀和_距离和ret=l+r_1
算法
froginwe11几秒前
ASP ADO:深入解析ActiveX数据对象在ASP中的应用
开发语言
Petrichor_H_几秒前
DAY 43 复习日
开发语言·python
一匹电信狗2 分钟前
【LeetCode】栈和队列进阶题目
c++·算法·leetcode·职场和发展·stl·栈和队列
WongKyunban2 分钟前
使用Valgrind检测内存问题(C语言)
c语言·开发语言
Bin二叉2 分钟前
南京大学cpp复习——第二部分(继承)
开发语言·c++·笔记·学习
Zfox_2 分钟前
【Go】环境搭建与基本使用
开发语言·后端·golang
民乐团扒谱机3 分钟前
【微实验】携程评论C#爬取实战:突破JavaScript动态加载与反爬虫机制
大数据·开发语言·javascript·爬虫·c#
机器学习之心3 分钟前
198种组合算法+优化TCN时间卷积神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!
深度学习·算法·shap分析·tcn时间卷积神经网络
raoxiaoya4 分钟前
golang本地开发多版本切换,golang多版本管理,vscode切换多版本golang
开发语言·vscode·golang