【发布时间】:2016-10-20 17:54:19
【问题描述】:
在我的代码中,我实现了许多不同的类,一旦程序的进程被激活,就需要对其进行初始化。
我目前正在手动启动每个类,但是它们太多了,我认为我可以从某个类继承,并且创建的每个对象都将保存在一个向量中,并且可以从创建的对象(基类)中初始化该类,但是我只需要初始化一次类,即使我可以为此设置一个标志,我认为它不是一个好的解决方案。
我认为的其他解决方案是在我必须初始化的每个类(静态变量)上实现一种初始化程序,相同的实现,将每个类的初始化对象保存在向量中,然后从初始化程序类初始化所有类,但我必须向该对象传递很多参数甚至函数。 所以是一个很好的解决方案,但一个糟糕的实施,这样想。
那么你知道初始化类的一些好的模式吗?
编辑:示例:
使用 Android 和 OpenGL,每次应用程序不是 OnResume() 时,Opengl 上下文都会被破坏,并且 OnResume() 上下文会重新创建,对于我需要渲染的任何对象,我都有一个类,例如'绘制正方形的 Square 类,并且对于每个正方形对象,我在“Square 类”中有静态变量,每个正方形都可以使用 opengl 正确呈现,例如缓冲区或着色器等,因此无论何时重新创建上下文,我需要重新初始化类静态变量才能呈现对象。
【问题讨论】:
-
我很难理解你的意思。归根结底,类的唯一有用对象是那些您最终在代码中使用(并因此键入)的对象。那为什么不手动初始化对象呢?
-
@space_voyager 我在 EDIT 上放了一个例子
标签: c++ design-patterns initialization