我需要使用 A 类中的一种方法(称为 write)来控制文件 I/O。然后 A 通过调用 A.write() 实例化另一个需要写入文件的 B 类(不基于 A)。
实现这一目标的最佳方法是什么?
我应该将 Class.functionname (A.write) 作为参数传递给 B.sometfunction 以进行回调吗?
我应该让 A.write 一个插槽,并允许 B 发出信号吗?
有没有更好的办法?(我将 QT 5 与 C++ 一起使用)
好的,还有一些信息可以帮助解释:A 是线程的集合,每个都是 TcpSocket(来自客户端的控制台会话) B 是我的记录器类,并且是单例模式。A线程有时必须将消息记录到文件中,B使用互斥锁格式化并写入文件。这些相同的(格式化的)消息应该写入控制台(每个 A 线程的唯一套接字,因此不能是静态方法)。所以 A.something 调用 B.write (到文件),然后 B.write 需要调用 A.write (到控制台)。