warum benutzt ihr c++?



  • Nö wieso auch 😃
    Ich bin der Meinung, dass alle die behaupten OOP in C++ wäre scheiße, kennt C++ GAR nicht bis fast GAR nicht.



  • Ich benutze C++, weil man in meinem derzeitigen Arbeitsbereich (VLSI-Designtools) noch auf jedes Bit Speicherverbrauch und auf jeden Taktzyklus schauen muss.



  • hä???? schrieb:

    Basingstoke schrieb:

    In diesem Zusammenhang wollte mal fragen warum es verdammt nochmal
    keine Sprache gibt die Definitionen UND Implementationen vererben
    kann.

    was soll das bedeuten?

    Ich will einfach nur Interfaces in C++ (und nicht abstrakte Basis-Klassen)



  • Wenn Du mir erklärst, wo hier der OO-bezogene Unterschied von:

    interface Dummy
    {
     public:
       virtual void foo() = 0;
    };
    

    zu

    class Dummy
    {
     public:
       virtual void foo() = 0;
    };
    

    ist?

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...



  • Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Du identifizierst dich aber stark mit C++. :p

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.



  • Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?



  • Tim schrieb:

    Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?

    Ich habe es "class" getauft, damit Laien denken man könne mit C++ wirklich objektorientiert programmieren. 😃



  • erkenner schrieb:

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.

    Du möchtest also ein neues Schlüsselwort "interface", welches sich wie "struct" verhält und zusätzlich alle virtuellen Funktionen abstrakt macht?



  • LordJaxom schrieb:

    erkenner schrieb:

    Man könnte sich "public" und dieses komische "= 0;" sparen. Ist von der bedeutung her einfach schöner.

    Du möchtest also ein neues Schlüsselwort "interface", welches sich wie "struct" verhält und zusätzlich alle virtuellen Funktionen abstrakt macht?

    hast du eine idee, wie mann das machen kann? also mir würde nur class einfallen :p



  • Tim schrieb:

    Artchi schrieb:

    Ich wüsste jetzt nicht, warum wir ein Schlüsselwort interface bräuchten? Namen sind Schall und Rauch...

    Wozu class wenn es auch struct gibt?

    Hätte das Bsp. auch anstatt class mit struct machen können. Richtig! Aber dadurch ändert sich meine Frage nicht. Dein Kommentar beweist nur noch mehr, wie schwachsinnig es ist, ein interface-Schlüsselwort zu verlangen, weil wir dann drei Schlüsselwörter hätten, die im Prinzip das gleiche machen. Vielleicht spare ich mir bei dem einen das "public:" und bei dem anderen das "virutal =0". Aber es macht die Sprache C++ deshalb ja nicht OOiger.



  • Artchi schrieb:

    Aber es macht die Sprache C++ deshalb ja nicht OOiger.

    Nö, aber lesbarer.



  • @890ß´:meine Meinung!
    Und wenn man von so einer Abstrakten Klasse erbt heißt das
    ja noch lange nicht das man diese Funktionen auch implementieren
    muss!
    Also ich finde dieses System (virtual ... = 0) nen bissel dreckig...
    Einfach nen blöder Workaround!



  • Basingstoke schrieb:

    Also ich finde dieses System (virtual ... = 0) nen bissel dreckig...
    Einfach nen blöder Workaround!

    In C++ gibt es sehr viele solcher Workarounds. Ja, man kann sagen C++ ist ein Workaround schlechthin.



  • 890ß´ schrieb:

    Artchi schrieb:

    Aber es macht die Sprache C++ deshalb ja nicht OOiger.

    Nö, aber lesbarer.

    Dann programmier BASIC. :p



  • Artchi schrieb:

    890ß´ schrieb:

    Artchi schrieb:

    Aber es macht die Sprache C++ deshalb ja nicht OOiger.

    Nö, aber lesbarer.

    Dann programmier BASIC. :p

    ich hatte vor vielen jahren zu dos zeiten mal qbasic programmiert, aber das muss nicht mehr sein 😃



  • Rudi Seeger schrieb:

    warum benutzt ihr c++?

    mach ich doch gar nicht



  • interfaces wären cool, wenn man diese als dynamische Adapter benutzen könnte, so wie es für Boost.Interfaces vorgeschlagen wurde.



  • Basingstoke schrieb:

    @890ß´:meine Meinung!
    Und wenn man von so einer Abstrakten Klasse erbt heißt das
    ja noch lange nicht das man diese Funktionen auch implementieren
    muss!
    Also ich finde dieses System (virtual ... = 0) nen bissel dreckig...
    Einfach nen blöder Workaround!

    Hmm dabei dachte ich, dass man ne pure virtual funktion immer implementieren musst, wie peinlich *rotwerd*



  • Aprollo schrieb:

    Hmm dabei dachte ich, dass man ne pure virtual funktion immer implementieren musst, wie peinlich *rotwerd*

    schäm dich! Das gilt natürlich nur, wenn du von der Klasse auch Instanzen anlegen willst!



  • Basingstoke schrieb:

    ...
    Und wenn man von so einer Abstrakten Klasse erbt heißt das
    ja noch lange nicht das man diese Funktionen auch implementieren
    muss!
    Also ich finde dieses System (virtual ... = 0) nen bissel dreckig...
    Einfach nen blöder Workaround!

    EDIT: Wahrscheinlich meinst Du die Syntax und dann stimme ich Dir zu.

    "abstrakte Basisklassen als interfaces" ist aber kein workaround, sondern ein generelleres Konzept !
    Mit "abstrakten Basisklassen" kann man vieles umsetzen ... unter Anderem auch das Konzept "interface" (eigentlich schon ein kleines Design Pattern"). Genauso wie ich es schwachsinnig fände, zusätzlich noch "visitor" und "factory" als keywords einzuführen, sehe ich es auch mit "interface".

    Und JA: Man kann mit "abstrakten Basisklassen" auch "alles dazwischen" implementieren und nicht nur jeweils reine Pattern.
    ...und das ist auch gut so. 😃

    Gruß,

    Simon2.


Anmelden zum Antworten