Unterschied zwischen C und C++?

6 Antworten


  • Der Hauptunterschied zwischen C und C++ besteht darin, dass C eine prozedurale Programmiersprache ist und keine Klassen und Objekte unterstützt, während C++ eine Kombination aus prozeduraler und objektorientierter Programmiersprache ist; daher kann C++ als Hybridsprache bezeichnet werden.

  • C++ ist Multi-Paradigm (kein reines OOP, unterstützt sowohl prozedural als auch objektorientiert), während C der prozeduralen Programmierung folgt.
      In C ist die Datensicherheit geringer, aber in C++ können Sie Modifikatoren für Ihre Klassenmitglieder verwenden, um sie von außen unzugänglich zu machen.
      C folgt einem Top-Down-Ansatz (die Lösung wird Schritt für Schritt erstellt, da jeder Schritt im weiteren Verlauf in Details verarbeitet wird), aber C++ folgt einem Bottom-Up-Ansatz (wobei zuerst Basiselemente festgelegt und zu komplexen Lösungen verknüpft werden). .
      C++ unterstützt das Überladen von Funktionen, während C dies nicht unterstützt.
      C++ erlaubt die Verwendung von Funktionen in Strukturen, aber C erlaubt dies nicht.
      C++ unterstützt Referenzvariablen (zwei Variablen können auf denselben Speicherort zeigen). C unterstützt dies nicht.
      C hat kein eingebautes Ausnahmebehandlungs-Framework, obwohl wir es mit anderen Mechanismen emulieren können. C++ unterstützt direkt die Ausnahmebehandlung, was das Leben des Entwicklers erleichtert.

    für infos diesen besuch

  • C ist eine prozedurale Programmiersprache und unterstützt keine Klassen und Objekte.

    C++ ist eine Kombination aus prozeduraler und objektorientierter Programmiersprache. C++ kann als Hybridsprache bezeichnet werden.

  • C++ ist viel mehr als C mit Klassen. Es gibt viele andere Konzepte in C++ wie Vorlagen, Überladen von Funktionen und Operatoren, Ausnahmen und viele andere, die hier bereits erwähnt wurden. Dies macht C++ sehr mächtig und flexibel, aber auch schwer zu erlernen. Es ist nicht so, dass die einzelnen Konzepte schwer zu verstehen sind, sondern die Summe davon und wie sie zusammenspielen. Sehen Sie sich boost an, um zu sehen, was mit C++ alles möglich ist. Und ich denke, es hat ewig gedauert, um zu verstehen, was unter der Haube passiert, was im Fall von C sehr klar ist.

  • C++ ist Multi-Paradigm (kein reines OOP, unterstützt sowohl prozedural als auch objektorientiert), während C der prozeduralen Programmierung folgt.
      In C ist die Datensicherheit geringer, aber in C++ können Sie Modifikatoren für Ihre Klassenmitglieder verwenden, um sie von außen unzugänglich zu machen.
      C folgt einem Top-Down-Ansatz (die Lösung wird Schritt für Schritt erstellt, da jeder Schritt im weiteren Verlauf in Details verarbeitet wird), aber C++ folgt einem Bottom-Up-Ansatz (wobei zuerst Basiselemente festgelegt und zu komplexen Lösungen verknüpft werden). .
      C++ unterstützt das Überladen von Funktionen, während C dies nicht unterstützt.


      C++ erlaubt die Verwendung von Funktionen in Strukturen, aber C erlaubt dies nicht.
      C++ unterstützt Referenzvariablen (zwei Variablen können auf denselben Speicherort zeigen). C unterstützt dies nicht.
      C hat kein eingebautes Ausnahmebehandlungs-Framework, obwohl wir es mit anderen Mechanismen emulieren können. C++ unterstützt direkt die Ausnahmebehandlung, was das Leben des Entwicklers erleichtert.
    Für weitere Informationen besuchen Sie diese Seite

  • In C++ sind struct und class genau dasselbe, außer dass struct standardmäßig auf öffentliche Sichtbarkeit und class standardmäßig auf private Sichtbarkeit eingestellt ist.
    Einige wichtige Unterschiede zwischen den C- und C++-Strukturen:

    1. Memberfunktionen innerhalb der Struktur : Strukturen in C können keine Memberfunktionen innerhalb der Struktur haben, aber Strukturen in C++ können Memberfunktionen zusammen mit Datenmembern haben.
    2. Direkte Initialisierung: Wir können Strukturdatenelemente in C nicht direkt initialisieren, aber in C++.

      • C
      • C++
      // C-Programm, das zeigt, dass eine direkte
      // Member-Initialisierung in C nicht möglich ist
      #include <stdio.h>

      struct Record {
          int x = 7;
      };

      // Treiberprogramm
      int main()
      {
          struct Record s;
          printf("%d", sx);
          0 zurückgeben;
      }
      /* Ausgabe : Compilerfehler
        6:8: Fehler: ':', ', ', ';', '}' oder
        '__attribute__' vor '=' Token erwartet
        int x = 7;
              ^
        In Funktion 'main': */


      Ausgabe:

      7
    3. Verwenden des Schlüsselworts struct: In C müssen wir struct verwenden, um eine struct-Variable zu deklarieren. In C++ ist struct nicht erforderlich. Angenommen, es gibt eine Struktur für Record. In C müssen wir „struct Record“ für Record-Variablen verwenden. In C++ müssen wir struct nicht verwenden und nur 'Record' würde funktionieren.
    4. Statische Member: C-Strukturen können keine statischen Member haben, sind aber in C++ erlaubt.

      • C
      • C++
      // C-Programm mit Struktur static Member
      struct Record {
          static int x;
      };

      // Treiberprogramm
      int main()
      {
          return 0;
      }
      /* 6:5: Fehler: Erwartete specifier-qualifier-list
        vor 'static'
          static int x;
          ^*/


      Dies erzeugt einen Fehler in C, aber keinen Fehler in C++.
    5. Konstruktorerstellung in Struktur : Strukturen in C können keinen Konstruktor innerhalb der Struktur haben, aber Strukturen in C++ können Konstruktorerstellung haben.

      • C
      • C++
      // C-Programm, das zeigt, dass Constructor nicht erlaubt ist
      #include <stdio.h>

      struct Student {
          int roll;
          Student(int x)
          {
              Rolle = x;
          }
      };

      // Treiberprogramm
      int main()
      {
          struct Student s(2);
          printf("%d", sx);
          0 zurückgeben;
      }
      /* Ausgabe : Compiler-Fehler
        [Fehler] erwartete Spezifizierer-Qualifizierer-Liste
          vor 'Student'
        [Fehler] erwartete Deklarations-Bezeichner oder
        '...' vor numerischer Konstante
        [Fehler] 's' nicht deklariert (verwenden Sie zuerst
        5555555555in dieser Funktion)
        In Funktion 'main': */


      Ausgang: 2
    6. sizeof-Operator: Dieser Operator erzeugt 0 für eine leere Struktur in C, wohingegen 1 für eine leere Struktur in C++. // C-Programm zur Veranschaulichung einer leeren Struktur
      #include <stdio.h>

      // leere Struktur
      struct Record {
      };

      // Treiberprogramm
      int main()
      {
          struct Record s;
          printf("%dn", sizeof(s));
          0 zurückgeben;
      }

      Ausgabe in C:



      0

      Ausgabe in C++:

      1
    7. Data Hiding: C-Strukturen erlauben kein Konzept des Data Hiding, sind aber in C++ erlaubt, da C++ eine objektorientierte Sprache ist, während C dies nicht ist.
    8. Zugriffsmodifikatoren: C-Strukturen haben keine Zugriffsmodifikatoren, da diese Modifikatoren von der Sprache nicht unterstützt werden. C++-Strukturen können dieses Konzept haben, da es in die Sprache integriert ist.

    fileyogi

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear