Anzeige:
Ergebnis 1 bis 13 von 13

Thema: sind klassen in c auch implementiert worden ?

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.09.2004
    Beiträge
    69

    sind klassen in c auch implementiert worden ?

    hallo,
    ich habe ein frage:
    in meiner schule wird, mit C++ programmiert, die leherer sagtn mir ich darf weiter mit C programmieren aber wen es um das thema klassen geht, muss ich mit C++ prgrammieren. ich glaube aber es gibt einen ANSI standart, bei dem klassen mit implementiert wurden. (so um 1990 rum, sonst währe C langsam aber sicher in richtung datenbanken ausgestorben). so nun meine frage:
    1. gibt es diesem standart in C mit klassen oder gibt es klassen nur in C++ und wie nennt man diesem standart ?
    2. mal ne andere frage, ist gcc unter linux ein standart c compiler ?

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Nein!

    zu 1.): Ja, Klassen gibts nur in C++ und Objective-C, beide sind C-kompatibel.
    Geändert von Lin728 (20-08-2017 um 19:20 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    12.09.2004
    Beiträge
    69
    danke
    wird irgendein mensch was dagegen sagen, wenn ich in der prüfung, mit C alles schreibe zum beispiel mir printf, scanf, fscanf, fprintf .... usw und auf ne C++ klasse zureife ?

    ich denk mal man kann doch die vorteile beider system daraus nehmen und nutzen

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    wird irgendein mensch was dagegen sagen, wenn ich in der prüfung, mit C alles schreibe zum beispiel mir printf, scanf, fscanf, fprintf .... usw und auf ne C++ klasse zureife ?
    Kommt auf die Aufgabenstellung an. Wenn die Benutzung dieser Funktionen nicht ausgeschlossen wird, darfst du sie sicher benutzen. Aber du solltest auch Berücksichtigen das dein Lehrer vielleicht Punkte abzieht wenn die Lösung nicht "elegant" ist. Also wenn du dir nicht sicher bist, würde ich vielleicht den Lehrer selber darauf ansprechen.

  5. #5
    Registrierter Benutzer
    Registriert seit
    12.09.2004
    Beiträge
    69
    ok danke für die gute erklärung

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von doomcalyptica
    ich denk mal man kann doch die vorteile beider system daraus nehmen und nutzen
    Kann man schon. Aber du tönst eher etwas konservativ à la "ich will unbedingt weiter das benutzen was ich schon seit immer benutze"...

    Ausserdem: Wenn du schon C kannst dürfte C++ lernen (und auch die dazu gehörigen typischen STL-Konstrukte) ja nicht all zu schwer sein - je mehr du kannst desto besser

    MfG Peschmä
    Geändert von peschmae (20-11-2004 um 19:18 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Also bei mir war's umgekehrt: Hab mir selbst C++ angeschaut, bevor ich noch auf's EDV Kolleg ging und hab mich dann "geweigert" auf OOP zu verzichten. Ich hab zwar in ANSI C programmiert, aber ich hab trotzdem wenn möglich objektorientiert programmiert. Also immer eine struct und namentlich erkennbar nach einen einheitlichen Schema dazugehörige klassen und so. Macht ein Programm einfach VIEL übersichtlicher.
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

  8. #8
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    Zitat Zitat von doomcalyptica
    danke
    wird irgendein mensch was dagegen sagen, wenn ich in der prüfung, mit C alles schreibe zum beispiel mir printf, scanf, fscanf, fprintf .... usw und auf ne C++ klasse zureife ?

    ich denk mal man kann doch die vorteile beider system daraus nehmen und nutzen
    Und damit benutzt Du C++ und kein C mehr (anderer Compiler, andere Bibliotheken und Klassen; kein Stoff des Unterrichts) und ich würde Dir als Prüfer eine 6 geben weil Du was anderes gemacht hast als vorgesehen war. Natürlich ist die Aufgabenstellung in der Beziehung wasserdicht ("Entwickeln Sie in ANSI-C...") und die 6 somit gerechtfertigt, weil die Aufgabe nicht erfüllt ist .
    Ganz besonders wenn Du z.B. bestimmte string-Funktionen bauen sollst und dann die String-Klasse verwendest.

    Für Prüfungen also keine gute Idee.
    Auf der Arbeit wird sicher auch im Pflichtenheft stehen, dass die Aufgabe in C gelöst wird. Wenn Du C++ verwendest, kann der Auftraggeber die Arbeit ebenfalls als nicht erfüllt betrachten und Du würdest dafür ggf kein Geld sehen und Du könntest sogar zu Schadensersatz herangezogen werden, weil der Auftraggeber nicht wie geplant das fertige Produkt bekommt.
    Fürs Real-Life also auch keine gute Idee...
    I haven't lost my mind - It's somewhere on a backup-disc

  9. #9
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von SeeksTheMoon
    Und damit benutzt Du C++ und kein C mehr (anderer Compiler, andere Bibliotheken und Klassen; kein Stoff des Unterrichts) und ich würde Dir als Prüfer eine 6 geben weil Du was anderes gemacht hast als vorgesehen war. Natürlich ist die Aufgabenstellung in der Beziehung wasserdicht ("Entwickeln Sie in ANSI-C...") und die 6 somit gerechtfertigt, weil die Aufgabe nicht erfüllt ist .
    Ganz besonders wenn Du z.B. bestimmte string-Funktionen bauen sollst und dann die String-Klasse verwendest.
    Das Problem stellt sich hier gerade andersrum. Und da ist die Frage schon berechtigt aber nicht wirklich beantwortbar.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #10
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Zitat Zitat von peschmae
    Das Problem stellt sich hier gerade andersrum. Und da ist die Frage schon berechtigt aber nicht wirklich beantwortbar.

    MfG Peschmä
    Und auch umgekehrt, also wenn C++ gefragt ist, und jemand C, und somit keine Klassen dafür aber printf(), str*() usw. verwendet, würde ich ne 5 geben (in Österreich gibt's keine 6 als Note). Denn auch da ist die Aufgabe nicht erfüllt. C und C++ sind einfach zu verschieden, als das man ungeschoren das eine verwenden kann, auch wenn das andere gefragt war.
    Soll ich beispiele nennen warum?
    Also:
    Fehlerbehandlung
    in C mit Returnwerten und errno
    in C++ mit Exceptions

    Stringbearbeitung
    in C mit den str*() funktionen und einen char-Array
    in C++ mit der Klasse std::string

    Gennerelles Konzept (schwehrwiegenster Punkt)
    C ist eine prozedurale Sprache (siehe: http://de.wikipedia.org/wiki/Prozedu...rammiersprache)
    C++ ist eine objektorienteirte Sprache (siehe: http://de.wikipedia.org/wiki/Objekto...rammiersprache)

    Datei-I/O
    in C mit FILE* und printf()/scanf() etc. oder gleich gar filedescriptoren und read()/write()
    in C++ mit iostreams

    usw.
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

  11. #11
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja sicher, aber das Programm läuft auch mit C++-Compilern und entspricht auch den Standards. Was willste da schon sagen?
    Ich meine, da kannst ja keine klare Grenze zwischen das ist C++ und das nicht ziehen.
    Auch mit Java kann man prozedurale Programme schreiben, klar leitest du gezwungenermassen eine Klasse ab, aber der Rest ist Stilfrage. Oder ist das dann nicht mehr Java wenn ich einen Prozeduralen Programmierstil habe und mich um OOP foutiere? Wäre ja mit derselben Argumentation auch zu behaupten...

    Naja, wie man sieht ist am besten:
    - C++ lernen und programmieren
    und am zweitbesten:
    - Lehrer fragen

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  12. #12
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    also ich denke wenn hier spekuliert wird bringt das gar nichts, denn der einzige der eine antwort daruf geben kann ist der prüfer.

    technischt gesehen ist es möglich C-konstrukte in einem C++ programm zu verwenden, und es mit einem c++ kompiler zu kompilieren.

    wenn aber im unterricht z.b. speziell auf strings mit c++ eingegangen wurde, und der prüfer will prüfen ob das auch verstanden wurde, aber man dann was komplett anders verwendet wird es ihm wohl nicht zufriedenstellen.

  13. #13
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Ich denk mir halt, wenn C++ gelehrt wird, dann wird's vor allem um OOP, sosnt würde man doch gleich C verwenden. Und wenn eben wirklich C++ das Thema ist, dann wird wohl sicher auf C++ Features wie Exceptions, IO-Streams usw. eingegangen werden. Und das gibt's eben in C nicht.
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •