1
MainWindow::MainWindow(int w, int h, const string& c)
: Fl_Window(w, h, c.c_str()) // Don't call constructor over here
{
    script.load_file(WIN_CONFIG_SCRIPT);

    int width = script.get_global_int("width");
    int height = script.get_global_int("height");

    const char* caption = script.get_global_string("caption").c_str();

    /** CALL CONSTRUCTOR NOW **/

    //NOTE: I don't know a way to change an FLTK Fl_Window's Caption after 
    //initialising it.

    Toolbar* toolbar = new Toolbar(0, 0, this->w(),30);
    toolbar->add_button("Hello");
    toolbar->add_button("World!");

    end();
}

コンストラクターで基本クラスを初期化するにはどうすればよいですか? または、初期化後にFLTK Fl_Window のキャプションを変更するにはどうすればよいですか? この混乱から抜け出す方法はにありますか?

4

1 に答える 1

6

コンストラクター内で基本クラスを初期化するにはどうすればよいですか?

できません。

インスタンスの基本部分は、インスタンスの派生部分またはそのメンバーの前に初期化する必要があります。


初期化後に FLTK Fl_Window のキャプションを変更するにはどうすればよいですか?

ドキュメントには、次のように呼び出すことができると記載されています。

label("my caption")

それの何がいけないの?


この混乱から抜け出す他の方法はありますか?

いいえ。


また、FLTK 2 にアップグレードする必要があります。

于 2012-01-10T15:12:40.010 に答える