You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++中通过对象调用folder()触发show()失效问题排查

问题解决:调用folder()未触发show()执行

你代码里的问题很明确:在folder()函数内部,void show();这行代码并不是函数调用,而是对show()函数的声明,所以不会触发show()的执行。

要实现obj.folder() -> show()的流程,只需要把这行代码修改为实际的函数调用即可,有两种写法:

  • 直接调用成员函数:show();
  • 用this指针明确指定当前对象的成员函数:this->show();(可读性更强)

修正后的完整代码如下:

#include<iostream>
using namespace std;
int count=0;

class file{
    int roll;
    public:
        void folder()
        {
            ++count;
            roll=count;
            show(); // 这里修改为函数调用
        }
        void show(){cout<<roll<<endl;}
};
int main()
{
    file obj;
    obj.folder();
}

运行这段代码后,调用obj.folder()就会先更新count和roll,然后自动执行show()输出1。

内容的提问来源于stack exchange,提问作者Ghimire Suraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:04:51