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

相关推荐
格林威38 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小大宇1 小时前
Python 集成 Conda
开发语言·python·conda
ShineWinsu1 小时前
对于Linux:模版方法类的解析以及socket、TcpSocket的封装
linux·c++·面试·socket·模板方法模式·封装·tcpsocket
还是奇怪1 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
稚南城才子,乌衣巷风流2 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm2 小时前
9 找到字符串中所有字母异位词
c++·算法·leetcode
小大宇2 小时前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
Legendary_0082 小时前
LDR6500 设计指南:Type-C 音频快充二合一配件 PD 取电与插拔时序控制方案
c语言·开发语言·音视频
Sw1zzle3 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
青山木3 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先