gpt4 book ai didi

c++ - private int 值未被类函数更改

转载 作者:太空宇宙 更新时间:2023-11-04 13:26:50 24 4
gpt4 key购买 nike

我这里有一个 private int 索引。

class classname {

private:
int index;
public:
classname();
void stuff();
}

在我的构造函数中,我初始化了 index = 10;

classname::classname {
index = 10;
}

但我想在我的 stuff() 函数中更改它,所以我这样做了

classname::void stuff() {
cout << "the current index is: " << index << endl;
index = 15;
cout << "ending index is: " << index << endl;
}

在我的主文件中有

int main() {
classname name;
name.stuff();
name.stuff(); //do it again
}

第二次它再次返回到 10,但它应该返回 15。这是结果:

 the current index is: 10
ending index is: 15
the current index is: 10
ending index is: 15

请帮忙

最佳答案

尝试这个修复:使用类名::索引调用索引

因为您使用范围解析运算符 (::) 访问私有(private)成员

#include <iostream>
using namespace std;
class classname {
private:
int index;
public:
classname();

void stuff();
};
classname::classname() {

classname::index = 10;

cout<<classname::index<<endl;
}
void classname::stuff() {

cout<<"Current: "<<index<<endl;

classname::index = 15;

cout<<"ending: "<<index<<endl;
}

int main() {
classname name;
name.stuff();
name.stuff(); //do it again
return 0;
}

关于c++ - private int 值未被类函数更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com