如何使函数与其他c++之间的类变量交互
How to make functions interact with class variables between eachother c++
我遇到了一个使用单独文件类的简单程序的问题(我对它们很陌生)。你能帮我弄清楚为什么它不显示更改后的值吗?
主
stats startout;
startout.beginning();
startout.start();
标题
class stats
{
public:
void start();
void beginning();
//setter
void setHealth(int x){
health = x;
}
//getter
int getHealth(){
return health;
}
private:
int health;
};
实现.cpp文件
void stats::beginning(){
stats set;
set.setHealth(10);
}
void stats::start(){
stats stat;
cout << "Health: " << stat.getHealth() << endl;
}
它一直显示health为0,我认为这是某种默认值,因为它没有像我的beginning()函数中所描述的那样设置为10。如果有人知道问题是什么,或者对处理类中变量以及在函数之间进行交易的最佳方法有建议,那么请分享你的智慧!
set
和stat
的新本地实例,它们仍然是声明为startout
的实例的成员,并将对其进行操作。你已经让它们在全新的实例上进行操作。
所以它们应该被定义为
void stats::beginning() {
setHealth(10);
}
void stats::start() {
cout << "Health: " << getHealth() << endl;
}
相关文章:
- 查找后更改类变量
- 如何避免在仅标头库中C++类/变量重定义
- c++ 在非类函数中使用类变量
- 基于模板的类变量
- 编辑字符串以包含括号 c++ 之间的变量
- 分段 访问私有类变量时出错
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 如何访问基类向量中的子类变量?(对于实体组件系统)
- 如何在不同的CMakeList.txt之间共享变量?
- 模板类变量作为非模板类的成员
- 类变量和全局变量之间的差异
- 如何在类之间访问变量
- 在类实例之间共享变量
- 需要有关在类之间共享变量的 OOP 设计的帮助,这些变量单独使用计时器运行
- 在类之间交换变量的正确方法是什么?
- 在实例之间共享类变量而不使用静态
- 如何声明运算符重载<以在需要时在类变量之间动态切换?
- "类变量"、"类变量()"和"类变量(参数)"之间的区别
- 如何使函数与其他c++之间的类变量交互
- 两个源文件之间的变量(类和全局)