asqwdw 2022-09-27 17:17 采纳率: 91.7%
浏览 35
已结题

const修饰成员函数中的问题

#include<iostream>
using namespace std;

//const修饰成员函数
//1.常函数 
class person
{
    public:
        //this指针的本质 是指针常量 指针的指向不可以修改 
        //person*const this; 
        
        //在成员函数后面加const,修饰的是this指针,让指针指向的值也不可以修改 
        void showPerson()const//加const后值也不能改 
        {
//            m_a=100;
            //this指针是不可以修改指针的指向的
            m_b=100; 
        }
        int m_a;
        mutable int m_b;//特殊变量,即使在常函数中也可以修改这个值 
};
void test02()
{
    const person p1;//在对象前加const,变为常对象
    p1.m_b=100; //特殊值,在常对象下也可以修改
    
    //常对象只能调用常函数
    p1.showPerson(); 
}

为什么test02函数在const person p1的时候会报错啊

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2022-09-27 17:22
    关注

    报什么错?
    是报p1.m_b = 100有问题吧,常量不可以修改,只能在定义的时候马上初始化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 创建了问题 9月27日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备