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

相关推荐
阿巴~阿巴~4 分钟前
C_数据结构(单链表算法题) —— 相交链表、环形链表I、环形链表II、随机链表的复制
c语言·开发语言·数据结构·算法·链表·1024程序员节
神奇夜光杯8 分钟前
Python酷库之旅-第三方库Pandas(208)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
秀儿还能再秀12 分钟前
机器学习:决策树——ID3算法、C4.5算法、CART算法
算法·决策树·机器学习
秀儿还能再秀16 分钟前
机器学习:梯度提升树(GBDT)——基于决策树的树形模型
算法·决策树·机器学习·学习笔记·梯度提升树
yangpipi-18 分钟前
数据结构(C语言版)-2.栈和队列
c语言·开发语言·数据结构
还在学习进步20 分钟前
C语言第九周课——经典算法
c语言·开发语言·算法
阿七想学习23 分钟前
数据结构《链表》
java·开发语言·数据结构·学习·链表
Yaml423 分钟前
Java的六大排序
java·算法·排序算法
极客代码25 分钟前
【Python TensorFlow】进阶指南(续篇二)
开发语言·人工智能·python·深度学习·tensorflow
计算机学姐38 分钟前
基于Python的高校成绩分析管理系统
开发语言·vue.js·后端·python·mysql·pycharm·django