我今天意识到,如果你有这样的 3 门课程:
1 类有信号
2 类有一个信号连接到 3 类的专用插槽
班级 3 有一个私人插槽,班级 2 是班级 3 的朋友
如果我将 1 类的信号连接到 2 类的信号,我基本上可以通过发出 1 类的信号来调用 3 类的私有槽。
如果信号是私有的或受保护的,则不会发生这种情况。
还有另一种情况可能会很糟糕,假设我们有这样的设置:
2 类有一个连接到其基类受保护插槽的信号
class 3 是带有受保护槽的基类
这不是违反了面向对象的原则吗?
c++ qt signals slots
c++ ×1
qt ×1
signals ×1
slots ×1