0

2 つのクラスから継承するクラスを作成したいと考えています。そのうちの 1 つは QApplication です。

class TheApp : public QApplication, public MyApp
{
public:
   TheApp(int argc, char *argv[]) 
    : QApplication(argc,argv), MyApp(argc,argv) {}
};

int main(int argc, char **argv)
{
    QApplication App(argc,argv);
    App.exec();
}

実行すると、セグメンテーション違反が発生します。このようにコードを書き直すと、次のように動作します。

class TheApp : public MyApp
{
public:
   TheApp(int argc, char *argv[]) 
    : MyApp(argc,argv) {}
};

int main(int argc, char **argv)
{
    QApplication App(argc,argv);
    TheApp App2(argc,argv);
    App.exec();
}

QApplication と別のクラスから継承することは不可能のようです。なぜそれが機能しないのか、誰にも分かりますか?

ありがとう。

4

0 に答える 0