C ++ / OOP:具有对其他类的隐式依赖的类

时间:2013-08-20 17:02:24

标签: c++ oop

我正在用OpenGL编写程序。有一个Gfx类,它包含一个OpenGL上下文并包装OpenGL库。 还有一个Texture类包含OpenGL纹理名称(包括生成和删除)。 Texture类自然具有对Gfx类的隐式依赖。但我想要RAII,没有指针,因此认为Texture类必须是公开访问的。

表达对构造的Gfx实例的依赖关系的最简洁方法是什么?

1 个答案:

答案 0 :(得分:0)

假设没有上下文就不能存在纹理,看起来构造函数参数在这种情况下是正确的,可能是std::shared_ptr<Gfx>(希望这可以从你的无指针策略中解脱 - 我认为它是C ++构造)。这样,只要至少有一个纹理没有处理,Gfx就会停留。