c++ - 从类函数更改 int 值

标签 c++ algorithm

我有一个从 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/

相关文章:

将 boxen 优化排序到 4x4 Rack 中的算法

algorithm - 如何改进对同一个图的多个最短路径搜索?

c++ - 包含 std::string 的 memset 结构

c++ - N4502 提案如何运作? ( "detection idiom")

c++ - 初始化基类

c++ - C++中的字符串管理

mysql - 在mysql中选择连续的记录 block

c++ - 如何根据属性从 vector 中提取最大的对象?

algorithm - 红黑树删除未知行为

algorithm - 如何检查给定一组边是否形成无向循环及其复杂性?