Wo ist der Unterschied



  • #include <gtkmm.h>
    
    int main(int argc, char *argv[])
    {
        Gtk::Main kit(argc, argv);
        Gtk::Window window;
        Gtk::Main::run(window);
        return 0;
    }
    
    #include <gtkmm.h>
    
    int main(int argc, char *argv[])
    {
        Gtk::Main main_obj(argc, argv);
        Gtk::Window window_obj;
        main_obj.run(window_obj);
        return 0;
    }
    

    Auf der Suche nach Gtkmm-Tutorials bin ich auf die beiden kleinen Beispiele
    gestoßen, die ein Fenster erzeugen. Der Unterschied der beiden Programme liegt
    nur in Zeile 7.

    Was ich nicht verstehe ist, warum beide Programme kompilieren.
    Denn wenn ich das richtig sehe, wird im ersten Beispiel eine Funktion innerhalb des Gültigkeitsbereichs Gtk::Main aufgerufen, im zweiten Beispiel
    aber eine Elementfunktion der Klasse Window.



  • wenn du hier schaust
    http://developer.gnome.org/gtkmm/3.3/classGtk_1_1Main.html
    ist run eine statische funktion.

    daher kann sie über ein member der klasse main oder über den bereichszugriff gerufen werden.


Anmelden zum Antworten