Klassen im C++ Standart



  • Das RC2 von CodeBlocks ist auch total veraltet. Wenn schon, dann ein Nightly Build nehmen...



  • joomoo schrieb:

    Angus schrieb:

    CodeFinder schrieb:

    Was heißt denn 'geclosed' meinst du damit, dass das Programm sofort geschlossen wird ?!

    Ja,es kann gar nicht kompilieren...

    Also bekommst du eine Fehlermeldung?

    CodeFinder schrieb:

    dann setz einfach ein cin.get(); vor return...
    Bei deinem Code fehlt ja noch die main() ...das kann man so gar nicht

    Also wie würde denn der richtige Code eigentlich lauten?
    Ich bin nur ein C++ Anfänger,der sich eher für Spieleprogrammierung interressiert,aber dennoch noch die Grundlagen erweitert.

    Erweitern?

    CodeFinder schrieb:

    PS: Wieso was installieren ? 😕

    Weil man meistens wie bei GUI's etwas schon in bsps.weise: "Dev-C++" reininstallieren soll,habe ich auf jeden fall wo gehört.

    Mit freundlichstem Gruß aus der Schweiz,

    Angus

    Dev-C++ ist ne IDE und keine GUI. Und es ist veraltet. Nimm lieber Code::Blocks. www.codeblocks.org Ich glaub dann löst sich dein problem auch.

    mfg.

    edit: Genauer Link für Codeblocks: http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download

    Also zur Fehlermeldung: Es kommt irgendeine,die ich Ihnen später nachdem ich diesen neuen Compiler mir runterhole,sagen.

    Zum Codeblock: Ist das ein Compiler?Ist das eine Freeware(für immer?)?

    Gruß Angus



  • Angus schrieb:

    joomoo schrieb:

    Angus schrieb:

    CodeFinder schrieb:

    Was heißt denn 'geclosed' meinst du damit, dass das Programm sofort geschlossen wird ?!

    Ja,es kann gar nicht kompilieren...

    Also bekommst du eine Fehlermeldung?

    CodeFinder schrieb:

    dann setz einfach ein cin.get(); vor return...
    Bei deinem Code fehlt ja noch die main() ...das kann man so gar nicht

    Also wie würde denn der richtige Code eigentlich lauten?
    Ich bin nur ein C++ Anfänger,der sich eher für Spieleprogrammierung interressiert,aber dennoch noch die Grundlagen erweitert.

    Erweitern?

    CodeFinder schrieb:

    PS: Wieso was installieren ? 😕

    Weil man meistens wie bei GUI's etwas schon in bsps.weise: "Dev-C++" reininstallieren soll,habe ich auf jeden fall wo gehört.

    Mit freundlichstem Gruß aus der Schweiz,

    Angus

    Dev-C++ ist ne IDE und keine GUI. Und es ist veraltet. Nimm lieber Code::Blocks. www.codeblocks.org Ich glaub dann löst sich dein problem auch.

    mfg.

    edit: Genauer Link für Codeblocks: http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download

    Also zur Fehlermeldung: Es kommt irgendeine,die ich Ihnen später nachdem ich diesen neuen Compiler mir runterhole,sagen.

    Zum Codeblock: Ist das ein Compiler?Ist das eine Freeware(für immer?)?

    Gruß Angus

    Codeblocks ist eine IDE. MinGW ist ein Compiler. Codeblocks ist Freeware bzw. OpenSource.

    @;.
    Trotzdem nicht so alt wie Dev-C++

    mfg.

    PS: Bitte duzen



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



  • Angus schrieb:

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

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



  • 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)..

    Angus



  • 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*


Anmelden zum Antworten