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 的成员变量,但仍然可以访问各种成员变量。

相关推荐
biter down27 分钟前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
小欣加油28 分钟前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
lqqjuly37 分钟前
前沿算法深度解析(二)
人工智能·算法·机器学习
Yolo_TvT1 小时前
C++:析构函数
c++
徐小夕2 小时前
万字长文!千万级文档 RAG 知识库系统落地实践
前端·算法·github
threelab2 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师722 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴2 小时前
线程的生命周期之线程“插队“
java·开发语言·python
akunkuntaimei2 小时前
2026年高考数学各省真题及答案(完整版)
算法·高考
Hello:CodeWorld3 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法