【发布时间】:2010-09-16 06:00:13
【问题描述】:
在 C++ 应用程序中,假设我有一个窗口类,它有多个控件类实例。如果我的窗口想要通知控件它已被点击,我可以使用:
control[n]->onClick();
现在假设控件需要知道它的父窗口的大小,或者其他一些信息。为此,我正在考虑为控件提供一个指向自身(this)的指针作为其构造函数的参数。然后我会从控件的 onClick() 方法中进行这样的调用:
Size windowsize = parent->getSize();
这会被认为是不好的做法,还是以任何其他方式与面向对象编程的价值观相矛盾?如果是这样,他会以什么“正确”的方式做到这一点?
作为一个附带问题,拥有 Class 或 Class* 的向量会更好吗?是否值得为速度增益增加复杂性? (对向量的更改很少)。
【问题讨论】:
-
@Martin:你有什么问题...?没有太多的抱怨没有解释......
-
@Tony:Mark Cidade 更正了标题,该标题最初与@Martin 评论中的引用完全一致。我认为抱怨是标题有点模糊。