Methoden innerhalb Klassen oder außerhalb



  • Hallo,

    Die Klassen haben Methoden, welche normalerweise ausserhalb Klassen sind und sind mit :: getrennt: Window::window

    class Window {
       private:
       // irgendwas...
       public:
          Window();
         ~Window(){}
    };
    Window::Window() {
        cout << "window wurde aufgerufen" << endl;
    }
    

    können aber auch innerhalb klasse sein:

    class Window {
       private:
       // irgendwas...
       public:
       Window() {
          cout << "window wurde aufgerufen" << endl;
       }
        ~Window(){}
    };
    

    [

    ist das jetzt äquivalenz? nur um sicher zu stellen. weil im buch steht das nix davon...

    danke



  • hat man diese Trennung deshalb dazu ermöglicht um Klassen von Methoden in zwei Dateien zu trennen? Die Methoden in cpp-Datei während die Klasse selbst in header-Datei habe ich recht?



  • man schreibt die klassen normalerweise in die header, die kleinen methoden direkt dazu ( damit der compiler wegoptimiern kann) und die großen methoden gesondert in .cpp files



  • Kopfkratzer schrieb:

    hat man diese Trennung deshalb dazu ermöglicht um Klassen von Methoden in zwei Dateien zu trennen? Die Methoden in cpp-Datei während die Klasse selbst in header-Datei habe ich recht?

    Ja.

    Aber die "Trennung" hat entwicklungstechnisch den Vorteil, dass jemand, der die Klasse nutzt, seinen Code nicht mehr kompilieren muß, wenn Du in der Implementierung der Funktionen etwas änderst.

    Gruß,

    Simon2.


Anmelden zum Antworten