Klassen im C++ Standart



  • Angus schrieb:

    Also wie würde denn der richtige Code eigentlich lauten?

    so musses/könnte es richtig aussehen:

    Voila 👍 :

    #include <iostream>
    
    using namespace std;
    
    class Base
    {
        public:
            void Method(int Param)
            { cout << "Func in Base: " << Param << endl; }
    };
    
    class Derived : public Base
    {
        public:
            void Method(double Param)
            { cout << "Func in Derived: " << Param << endl; }
    };
    
    int main(void)
    {
    	// Klassen testen:
    	Base *pBase = new Base; // ptr wg der Casts ;-)
    	Derived *pDerived = new Derived;
    
    	pBase->Method(1);
    	pDerived->Method(12.23);
    
    	// sg. dynamischer (sicherer) Down-Cast
    	dynamic_cast<Base*>(pDerived)->Method(0);
    	// dabei wird pDerived auf den Basisklassenzeiger pBase gecastet
    	return (0);
    }
    

    PS: Hörst du ACDC ? 😃



  • Angus schrieb:

    GPC schrieb:

    Angus schrieb:

    Und was kann man mit Codeblocks machen?
    Etwa das gleiche wie mit Dev-C++?

    Ja. Und ein bisschen mehr. Probier's aus.

    Könnten Sie mir vielleicht bitte den genauen Link dem Download geben,da ich nicht weiß welcher.(ich habe windows xp home)..

    also noch direkter geht nicht: http://www.codeblocks.org/downloads.shtml

    Google ist nicht dein Fall, heh?

    CodeFinder schrieb:

    PS: Hörst du ACDC ? 😃

    hehe 😃 👍

    EDIT: RS-Fehler

    MfG

    GPC





  • @Codefinder:
    Der dynamic cast ist unnötig, da ein Cast auf eine Basisklasse immer sicher ist (lies: eine abgeleitete Klasse hat immer ihre Basis als Basis :D)



  • LordJaxom schrieb:

    @Codefinder:
    Der dynamic cast ist unnötig, da ein Cast auf eine Basisklasse immer sicher ist (lies: eine abgeleitete Klasse hat immer ihre Basis als Basis :D)

    Ho desiderato soltanto dimostrarlo. 😃 ...also der Cast ansich...okok der Kommentar war laaber rabaaber 😃


  • Mod

    LordJaxom schrieb:

    @Codefinder:
    Der dynamic cast ist unnötig, da ein Cast auf eine Basisklasse immer sicher ist (lies: eine abgeleitete Klasse hat immer ihre Basis als Basis :D)

    der begriff 'sicher' ist hier sowieso missverständlich. im übrigen ist Derived keine polymorphe klasse, folglich sind sowieso nur die casts erlaub, die implizit möglich sind. auch versteht man unbter einem downcast den cast von einer basisklasse in eine davon abgeleitete klasse. der umgekehrte vorgang (was hier passiert) ist ein upcast.



  • joomoo schrieb:

    http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download

    Danke herr joomoo!
    Ich frage mich nur,ob er wirklich mehr kann,also schon vielleicht funktionen,die man normalerweise bei Dev-C++ dazuinstallieren sollte und es schon bei diesem Codeblocks hat?!



  • Angus schrieb:

    joomoo schrieb:

    http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download

    Danke herr joomoo!
    Ich frage mich nur,ob er wirklich mehr kann,also schon vielleicht funktionen,die man normalerweise bei Dev-C++ dazuinstallieren sollte und es schon bei diesem Codeblocks hat?!

    Das wichtigste für dich ist erstmal: Dein Programm wird nicht gleich geschlossen.

    Nimm es einfach, scheiß doch drauf ob's wirklich besser ist, wenn wir das sagen stimmt's auch.

    mfg.



  • joomoo schrieb:

    wenn wir das sagen stimmt's auch.

    😃 GENAU! 😃

    👍



  • joomoo schrieb:

    Angus schrieb:

    joomoo schrieb:

    http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download

    Danke herr joomoo!
    Ich frage mich nur,ob er wirklich mehr kann,also schon vielleicht funktionen,die man normalerweise bei Dev-C++ dazuinstallieren sollte und es schon bei diesem Codeblocks hat?!

    Das wichtigste für dich ist erstmal: Dein Programm wird nicht gleich geschlossen.

    Nimm es einfach, scheiß doch drauf ob's wirklich besser ist, wenn wir das sagen stimmt's auch.

    mfg.

    Also mal eine Frage noch bevor dieses Thema geschlossen werden darf:

    Immer wenn ich eine neue Datei erstelle und dann speichere,speichert es der Compiler als bsp. test.c,... was muss ich bei speichern unter.. eingeben?



  • Angus schrieb:

    was muss ich bei speichern unter.. eingeben?

    Also dateiname.endung...LOL

    Ich nenne bspw. meine Haupt-Cpp immer Main.cpp

    die endung 'c' steht für die Prog-Sprache 'C' und cpp für 'C++' 😉

    PS: Wie isses mit meiner Frage: "PS: Hörst du ACDC ? 😃 "



  • CodeFinder schrieb:

    Angus schrieb:

    Also wie würde denn der richtige Code eigentlich lauten?

    so musses/könnte es richtig aussehen:

    Voila 👍 :

    #include <iostream>
    
    using namespace std;
    
    class Base
    {
        public:
            void Method(int Param)
            { cout << "Func in Base: " << Param << endl; }
    };
    
    class Derived : public Base
    {
        public:
            void Method(double Param)
            { cout << "Func in Derived: " << Param << endl; }
    };
    
    int main(void)
    {
    	// Klassen testen:
    	Base *pBase = new Base; // ptr wg der Casts ;-)
    	Derived *pDerived = new Derived;
    
    	pBase->Method(1);
    	pDerived->Method(12.23);
    
    	// sg. dynamischer (sicherer) Down-Cast
    	dynamic_cast<Base*>(pDerived)->Method(0);
    	// dabei wird pDerived auf den Basisklassenzeiger pBase gecastet
    	return (0);
    }
    

    Also wenn ich den eingebe kommt folgende Fehlermeldung bei Codeblocks:

    Directory : D:\test\
    --------------------------------------------------------------------------------
    Compiling: mmm.cpp
    mmm.cpp:32:2: warning: no newline at end of file
    Process terminated with status 0 (0 minutes, 1 seconds)
    0 errors, 1 warnings
    


  • Hast du F9 gedrückt?
    Erscheint beim ausführen des Programms ein MS-DOS Fenster?
    Entsteht eine .exe Datei in deinem Projektverzeichnis?

    mfg.



  • joomoo schrieb:

    Hast du F9 gedrückt?

    Ja hab ich,nur muss man da Strg+Shift+F9 drücken,das hab ich bereits erledigt.

    joomoo schrieb:

    Erscheint beim ausführen des Programms ein MS-DOS Fenster?

    Nein!

    joomoo schrieb:

    Entsteht eine .exe Datei in deinem Projektverzeichnis?

    Ebenfalls nicht *gg*



  • Hallo

    Also wenn ich den eingebe kommt folgende Fehlermeldung bei Codeblocks:

    Also ich sehe keine Fehlermeldung.

    Ja hab ich,nur muss man da Strg+Shift+F9 drücken,das hab ich bereits erledigt.

    Schau doch mal nach was bei Code::Blocks im Menü Build steht.

    ...
    Compile current File    CTRL-SHIFT-F9
    ...
    Build and Run           F9
    

    bis bald
    akari



  • Hmmmmm
    zwei user mit unterschiedlichen nicks die in Foren Sie als Anrede benutzen und Herr <Nick einsetzen> schreiben.Ach ja und komische Fragen stellen.
    Hmmmm



  • Hmmmmm
    zwei user mit unterschiedlichen nicks die in Foren Sie als Anrede benutzen und Herr <Nick einsetzen> schreiben.Ach ja und komische Fragen stellen.
    Hmmmm



  • MadMax1982 schrieb:

    Hmmmmm
    zwei user mit unterschiedlichen nicks die in Foren Sie als Anrede benutzen und Herr <Nick einsetzen> schreiben.Ach ja und komische Fragen stellen.
    Hmmmm

    Welche?
    Falls du mich und den anderen meinst,da gibt es noch keine Lösung,weil wir normaler Weiße an einem C++ und Perl Projekt zu 4-rt arbeiten und daher will mal jeder einzelne von uns einen anderen Nick habe *g*,aber die IP bleibt gleich.
    Zu Hause gehen wir nicht an die Computer,aber einer von uns(weis nicht wie er hier heisst) ist schon hier länger registrierter Benutzer,das ist der Michael Birkla aber er veratet mir nie wie er heisst,weil er zu Hause von seinem eigenem Pc hockt und anonym von uns an euch schreibt 😡

    Aber derzeit gibt es nur folgende:

    Angus(Angus boncer) ->ich!
    Fuchsthomas(Thomas Fuchs)
    ... mehr gibt es nicht und ob welche noch kommen,liegt an unseren Fragen ... 😮


Anmelden zum Antworten