c++ - 程序结构

标签 c++

我有几个文件:

main.cpp:
int main{
...
while(1){
...
draw();
...
}
...
return 0;
}

和draw.cpp: 我想在这里看到对象和所有操作。 我不能使对象成为 draw() 的本地对象,因为 draw() 在循环内部, 所以我会得到很多对象构造函数/析构函数调用——所以它们是全局的。还 我制作了 init block 以防止不必要的调用/分配

draw.cpp:
Object A, B;
int initialized = 0;
void draw(){
if(!initialized){
    A.initialization;
    B.initialization;
    initialized = 1;
}
A.move(1,1);
B.rotate(45);
}

它有效,但我正在寻找更好的方式来组织我的代码
新增:
感谢您的回答,看来我必须阅读一些有关图案设计的内容

最佳答案

以下是使其更好地工作的步骤:

  1. 在 main() 附近添加一个包含所有对象的结构。
  2. 将其传递给 draw(MyStruct &s);通过引用参数。
  3. 大功告成。

关于c++ - 程序结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930520/

相关文章:

c++ - 在 C++ 中访问类中的字段和类型列表

c++ - 无法制作指向自定义类型的指针列表

c++ - void* 有合法用途吗?

c++ - 自动按下按钮?

Python - OpenCV 模块缺少属性 CV_CALIB_FIX_INTRINSIC

c++ - 使用 -O3 优化和奇数间距填充 16bpp 图像时崩溃

c++ - 错误 : Expression must be a modifiable lvalue using strings

c++ - 接受整数或字符串的方法。 C++

c++ - 使用 QProcess 运行自定义可执行文件,立即退出,退出代码为 1

c++ - Qt Creator 无法解析 STL 容器