我有MainWindow
班
class MainWindow : public QMainWindow
{
customClass * obj;
public:
void foo(bool);
}
这是我的customClass:
class customClass
{
void foo1(bool);
}
现在,我想在foo()
中调用foo1()
方法。
怎么做?
答案 0 :(得分:1)
您可以使customClass
的构造函数获取指向MainWindow
的指针,该指针存储在成员变量中供以后使用。
class customClass
{
public:
customClass(MainWindow* mainWindow)
: mainWindow_(mainWindow)
{
}
void foo1(bool b) {
mainWindow_->foo(b);
}
private:
MainWindow* mainWindow_;
}
答案 1 :(得分:0)
使用依赖注入模式之一:link
struct A;
struct B
{
B( A& a );
void foo1()
{
m_a.foo();
}
private:
A& m_a;
}
struct A
{
void foo(){}
B m_b;
}
答案 2 :(得分:0)
您可以让MainWindow实现单件模式(如果它适用于您的设计),那么您可以直接从任何您喜欢的地方获取实例。