[C/C++] Unterschied C++ / C

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von xonic, 20. Februar 2009 .

Schlagworte:
  1. 20. Februar 2009
    Unterschied C++ / C

    Hallo,

    ist der einzige Unterschied zwischen C++ und C der,
    dass man in C nicht mit Klassen, Kunstruktor... arbeiten
    kann dafür aber halt in C++?

    Oder habe ich aus dem Buch falsch verstanden, dass der einzige
    Unterschied zwischen C und C++ das Objektorientierte ist?

    Danke
     
  2. 20. Februar 2009
    AW: Unterschied C++ / C

    ne stimmt so, im großen granzen Sinne
     
  3. 20. Februar 2009
    AW: Unterschied C++ / C

    In C++ hat man auch noch Exceptions, in C nicht.
    Außerdem gibts noch namespaces (ok, die gehören schon eher zur OOP).

    Ansonsten gibts noch paar kleinere sprachliche Neuerungen..
     
  4. 20. Februar 2009
    AW: Unterschied C++ / C

    Aber wenn ich eigentlich C++ lernen will
    macht es jetzt erstmal nichts aus, wenn ich mein C Buch
    dafür nehm zudem ich eh merke, dass es fast 1:1 die PHP Syntax ist.
     
  5. 20. Februar 2009
    AW: Unterschied C++ / C

    Wenn du C++ lernen willst, dann nimm auch ein C++-Buch. Meiner Meinung nach bringt es einem nichts, wenn man zuerst C lernt und dann C++. Wenn du ein einsteigerfreundliches C++-Buch (z.B. den C++-Primer) hast, dann brauchst du kein C zu lernen. Das Buch ist total verständlich und man lernt C++ von Anfang an.

    Wenn du erst C lernst und dann C++, dann kann es sein, dass du C mit C++ vermischst, was man generell nicht tun sollte.
     
  6. 20. Februar 2009
    AW: Unterschied C++ / C

    ich stimm pyro zu... aber wenn du sowieso schon ein c busch hast, kannst du das ja auch durchlesen... c++ is vollkommen mit c abwärtskompatiebel
     
  7. 20. Februar 2009
    AW: Unterschied C++ / C

    Ja so sieht es aus ich wollte jetzt nicht noch ein Buch für C++ kaufen. :]
    Ich werd mir erst das Buch durchlesen und dann mit Online Tutorialen weiter
    machen oder anderen Medien, da im Buch nur über Konsolenprogramme berichtet
    wird.
     
  8. 21. Februar 2009
    AW: Unterschied C++ / C

    Vorteil wenn man wenn man erst C lernt und dann später sein Wissen auf C++ ausbaut ist, das man auch alte Programme die in C geschrieben sind auch nach vollziehen kann. Als Beispiel würde jetzt einfach mal spontan der Linux Kernel einfallen, der ist halt nun mal nur C geschrieben oder wenn man später Mikrocontroller hat die werden meist auch mit C programmiert.
     
  9. 21. Februar 2009
    AW: Unterschied C++ / C

    C++ hat an sich auch rein garnichts mit GUI-Programmierung zu tun. Viele Bücher, die ich kenne, behandeln nur Consolen-Programme. Das erkennst du schon daran, dass C/C++ Programmierung solange du dich an den Standard hällst platformunabhängig ist. Dagegen ist GUI-Design im Allgemeinen sehr stark platformabhängig. Klar es gibt hier auch ein paar sehr nette Ausnahmen.

    Also wenn du was zu GUI-Design lesen willst, kauf dir lieber kein "klassisches" C++ Buch. Das wird dich dann nämlich entäuschen.
     
  10. 21. Februar 2009
    AW: Unterschied C++ / C

    Hallo,
    ich bin aus dem alter raus wo es mich demotiviert wenn ich Konsolen sehe :]
    Jedoch strebe ich natürlich nachher an, auch schöne GUI Programme zu machen.

    Wo du schon das Thema Plattform ansprichtst.

    Kann ich grob gesehen C Quellcode mit einem Linux Compiler und einem Windows Compiler compilieren und habe dann für beide Plattformen ein Programm oder scheitert diese einfache Compilierung mit gleichem Quellcode oft an zu vielen Unterschieden beider Plattformen.

    Java lerne ich schon und kenne die Vor- aber auch die Nachteile bereits

    Danke
     
  11. 21. Februar 2009
    AW: Unterschied C++ / C

    Da gibts keinen Vorteil, sondern nur Nachteil, ein großer Nachteil wäre z.B. sich die programmierweise in C anzugewöhnen und dann in C++ umzusetzen.
    Lernen geht schneller als Verlernen, keine gute Idee.

    Lass dir Zeit und geh' alles in ruhe an.
    Festige deinen Stil, und lerne erstmal mit C++ umzugehen.

    Kommt drauf an was für Programme du schreibst. ANSI C Programme z.B. müssen auf jeder Plattform mit jedem Compiler laufen, aber sobald du plattformspezifische API's verwendest wirds schiefgehen.
     
  12. 21. Februar 2009
    AW: Unterschied C++ / C

    Aber wieso wird es dann in Informatikstudium, teilweise auch in Elektrotechnikstudium, und halt auch in der Fachinformatikaausbildung einen so bei gebracht?
    Eben damit man auch Quellcode der in C geschrieben wurde vernüftig lesen kann, zudem ist der umstieg nicht wirklich schwehr, so ist meine Meinung zumindest.
     
  13. 25. Februar 2009
    AW: Unterschied C++ / C

    Der eigentliche Unterschied zwischen C und C++ liegt nicht in der Syntax. Das heißt die grundsätzliche Schreibweise der eigentlichen Befehle/Funktionsaufrufe/Berechnungen ist bei beiden gleich. Das gilt im Prinzip genauso für C#. Der Unterschied liegt in der grundlegenden Herangehens- und Denkweise bei der Abstraktion einer zu bearbeitenden Problematik.

    C ist eine rein funktionale Programmiersprache - es gibt hier also keine Klassen, die es erlauben Methoden (=Funktionen) und Parameter (=Daten) zu einer Einheit zusammenzufassen (--> Klasse) und dann beliebig oft zu instanziieren (=Ableitung einzelner Objekte aus der Klasse). Die Differenz dabei liegt nicht nur an der Oberfläche, sondern oft auch im Detail, da objektorientierte Programmiersprachen (C++ / C#) eine dynamische Speicherverwaltung durch ein unterliegendes Betriebssystem erfordern. Dies ist bei C nicht notwendig - deshalb ist es gerade im Embedded Bereich nach wie vor der Standard da derartig aufwändige Betriebssysteme hier nicht sinnvoll und auch noch nicht in der Breite verfügbar sind. Zumal zumindest 8 und 16Bit Systeme von der Rechenleistung her diese nicht stemmen könnten. Oft genug wird hier C auch noch komplett ohne Betriebssystem verwendet und die einzelnen Register der Hardwaresteuerung direkt durch die Applikation konfiguriert.

    Die objektorientierten Sprachen sind der Standard in der heutigen PC Technik. Zumindest wenn man auf ein vorhandenes Betriebssystem aufsetzt werden derartige Sprachen eingesetzt. Der Unterschied liegt also weniger beim Lesen einfacher Befehlsabläufe als vielmehr bei der Organisation von Daten und Methoden und deren Architektur als Gesamtapplikation.
     
  14. 25. Februar 2009
    AW: Unterschied C++ / C

    Schöner Beitrag, auch wenn eine Kleinigkeit nicht stimmt:

    C++ hat keine dynamische Speicherverwaltung (denke du meinst einen Garbage Collector). Bei C++ muss man genauso wie bei C selbst dafür sorgen, dass der Speicher freigegeben wird. Natürlich kann man auch Smart Pointer benutzen, die den Speicher selbst freigeben, aber das sind ja nur in C++-programmierte Klassen und nicht vom Betriebssystem gestellte Klassen.
     
  15. 25. Februar 2009
    AW: Unterschied C++ / C

    nur der vollständigkeit halber: afaik hat der kernel nen monolithischen kern, der in assembler geschrieben wurde=) aber zum großteil isser in c geschrieben, stimmt schon^^...mfg coach
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.