我有一个从 main
程序初始化并在构造函数中提供参数的形状类。
Shape *cusomShape = new CustomShape(float radius, float origin)
shape 类有一些功能,比如翻转等等。
当触发 shape 类中的翻转函数时,我想更改 main
程序中的某个 int
值。这可能类似于触发翻转函数时触发更改值的事件,但我不确定如何在 C++ 中执行此操作。如果说事件是这里的理想方法,那么很高兴看到一个简短的示例出现。
如果使用事件不正确,那么理想的解决方法是什么?
最佳答案
我觉得你需要的是通过指针或者引用的方式传一个值给Shape中的函数然后修改。如果该函数不是从 main 调用的,而是从其他地方调用的,则传递指针是更好的选择。首先将指针传递给类并使用另一个方法存储它,然后每次调用翻转时都使用它。
编辑:示例:
class CustomShape {
void storePointer(int* _value) {
value = _value;
}
void rollover() {
.. do stuff
*value++; // for instance
... do stuff
}
int * value;
}
int main() {
int a;
CustomShape cs;
cs.storePointer(&a);
....
cs.rollover();
....
return 0;
}
关于c++ - 从类函数更改 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231574/