Fragen zu VC++ und C++ generel
-
ich habe erst seit ein paar Tagen mit dem programmieren angefangen.
Das mit dem Code ist eine ganz gut verstendlich und logisch.
Aber wofür sind die Klassen da und was stehlen sie da?
Und wofür ist die Header-Datei da?Danke im voraus!
-
"wofür sind die Klassen da und was stellen sie da?"
Klassen sind Baupläne für Objekte. Die Konstruktoren sind die Baumaschinen und der Destruktor die Abrissbirne.
wofür ist die Header-Datei da?
Die Header-Datei A wird in C++ z.B. in cpp-Datei B includiert und stellt damit Klassen, Funktionen usw. aus cpp-Datei A zur Verfügung. Headerdateien enthalten Klassendefinitionen, Funktions-Prototypen mit Formalparametern usw.
-
Ein Vorteil von Klassen ist etwa, dass du sie öfters einsetzen kannst und nicht immer das Rad neu erfinden musst.
vgl. zB: MFC
-
CrazyOwl schrieb:
Ein Vorteil von Klassen ist etwa, dass du sie öfters einsetzen kannst und nicht immer das Rad neu erfinden musst.
vgl. zB: MFC
kapier ich nicht.
bitte erklaeren.
-
Hab mir das so gedacht, dass man nicht alles selber schreiben muss, sondern man schon einiges zur Verfügung gestellt bekommt (MFC), mit dem man aber eigentlich nie was zu tun gehabt hat. zB.; die Öffnen/Speichern Dialoge
Außerdem kann ich meine eigenen Klassen ganz einfach wieder in anderen Programmen einsetzen. <<-- Jaja, geht mit einzelnen Funktionen auch, aber ich sthe mir's dann doch mehr auf Klassen.
Sag mir jetzt bitte nicht, dass das absoluter Schwachsinn ist.
-
MS und auch andere erfinden das Rad aber ständig neu!
-
CrazyOwl schrieb:
Sag mir jetzt bitte nicht, dass das absoluter Schwachsinn ist.
nein, ist es nicht.
hat nur absolut nix mit Klassen zu tun. Schau dir gtk an - das ist fast das gleiche fuer C.
-
Aber wofür sind die Klassen da und was stehlen sie da?
Beispiel: Es gibt viele verschieden Tische. Alles, wa Sie gemein haben ist, dass Sie tische sind -> Sie gehören der Klasse der Tische an. Genau das kannst du mit Klassen in deinem Programm darstellen.
Um schon mal Vorzugreifen: Weiter gehts dann mit dem Vererben. Es gibt auch besondere Tische. Nehmen wir mal einen Holztisch. Statt eine Komplett neue Klasse von Tischen zu Kreieren leitet man die Klasse Holztisch von Tisch ab. Somit hat ein Holztisch automatisch die Eigenschaften (und allgemein auch die Fähigkeiten, was bei einem Tisch nicht unbedingt passend ist) von einem Tisch. Solche Ableitungen kann man immer verwnden, wenn gilt ein B ist ein A, also hier ein Holztisch ist ein Tisch.
-
Shade Of Mine schrieb:
CrazyOwl schrieb:
Sag mir jetzt bitte nicht, dass das absoluter Schwachsinn ist.
nein, ist es nicht.
hat nur absolut nix mit Klassen zu tun. Schau dir gtk an - das ist fast das gleiche fuer C.Ich denke doch aber schon, dass die OOP die Wiederverwendbarkeit von Code erhöht. Es ist doch wesentlich einfacherer, eine gut geschriebene Klasse einzubinden, als ein Haufen von Funktionen und Variablen. Meine Erfahrung beim letzteren war bisher meist die, dass Anpassungen nötig waren. Ganz davon abgesehen, gilt bei Klassen ja Information Hiding. Das befreit mich von der Last, die ganze Klasse verstehen zu müssen. Bei Funktionen+Variablen ist es doch anders. Hier muss ich mir erst immer die Frage stellen: Darf ich die Variable x ändern/auf sie zugreifen?
Vielleicht täusche ich mcih auch da und rede Unfug. Erbitte Aufklärung :).
-
Falsch, -100 Punkte! Ein Kompiler ist ein Programm, d.h. das Programm selbst heißt Kompiler. zwischen C++ und VC++ besteht ein Unterschied: VC++ ist eingeschränkt. Ist für einfache Programme gedacht, da diese Sprache nicht so schnell abstürzt, wie C++, denn hier kann der Kompiler eibnige sachen korrigieren, was auch die Eingeschränktheit erklärt. Und ein Beweis dafür, dass VC++ kein Kompiler ist: Es gibt Kompiler für C++ und für VC++. und einen Kompiler für einen Kompiler gibt es meines Wissens nicht.
VC++ ist sehr wohl eine Sprache. eine, die von Microsoft etwickelt wurde. Und ich meine auch nicht die Sprache, die abstürzt, sondern die Anwendung, die man damit schreibt, oder auch Fehler in der Sprache. Und der Kompiler dazu korrigiert kleine Fehler sehr wohl. Und Professionelle Anwendungen vielleicht, aber C++ ist einfach mal empfehlenswerter als VC++, da bei VC++ einige Sachen weggelassen wurden. Und ich meinte mit "Kompiler für Kompiler" nicht etwa Kompiler, mit denen man Kompiler programmieren kann, denn das ist mir schon klar, dass man Kompiler nicht in Binärcodes schreibt, sondern ich meinte, dass man mit einem Kompiler keinen anderen Kompiler in Binärcodes übersetzen kann, falls du jetzt verstehen solltest, was ich meine.
man kann auch sagen, dass man den String in Char-Array umwandeln kann, dann die einzelnen Elemente durchsuchen könnte, das ist so, als würde dich einer fragen "Wo gehts'n hier nach Rom?" Und jemand sagt "Die Autobahn entlang nach München und dann über die Alpen" und du dann sagst "Ne, halt, moment, es geht auch ohne
Autobahn (Schleifen): Nimm nen Kompas, lauf immer richtung Süden durch die ganzen Wälder". So in der Art, wobei die Autobahn viel schneller geht zu fahren. (Also Schleifen schneller zu programmieren). Klingt vielleicht wirr, aber wer's versteht weiß auch, warum immernoch Schleifen zu empfehlen sind.
ich programmiere nunmal in Windowsprogrammierung, und da kann man Strings einfach so addieren.
-
Shade Of Mine schrieb:
Schau dir gtk an - das ist fast das gleiche fuer C.
Ok, ich google mal.
-
@edie:
"... wofür sind ... Klassen da, und was stellen sie da?
... wofür ist die Header-Datei da?"
Sind die beiden Fragen geklärt?
-
the gay gayme coder schrieb:
VC++ ist sehr wohl eine Sprache.
hmm, ich hab eh Probleme deinen Post im Ganzen zu verstehen, aber wie auch immer, VC++ ist keine eigene Programmiersprache. Es ist nur eine Entwicklungsumgebung, zusammen mit Compiler, Linker, Debugger etc. Zusätzlich wird damit noch die MFC ausgeliefert, eine Ansammlung von Klassen die die Winapi in ihnen kapseln.
Sehe aber nicht den Grund wieso das eine eigene Sprache sein soll?!
-
Die grundlegende Sprache für MSVC++ ist eine wilde Mischung aus C und C++, garniert mit Win32API. Das ist doch klar. Man möge z.B. in den frei zugänglichen Sourcecode schauen. MS liefert die IDE und als Wrapper für Win32API die MFC.
-
Erhard Henkes schrieb:
Die grundlegende Sprache für MSVC++ ist eine wilde Mischung aus C und C++, garniert mit Win32API. Das ist doch klar. Man möge z.B. in den frei zugänglichen Sourcecode schauen. MS liefert die IDE und als Wrapper für Win32API die MFC.
Joap, so hab ich das auch gemeint. Wollte ja nur darauf eingehen, dass VC++ eben keine eigene/neue oder was weiß ich was Programmiersprache ist.
-
Schau mal da.
Besonders die Beiträge von "Spieleprogrammierer" - und dann vergleichst du mal mit dem was du weiter oben gelesen hast.
-
CrazyOwl schrieb:
Schau mal da.
Besonders die Beiträge von "Spieleprogrammierer" - und dann vergleichst du mal mit dem was du weiter oben gelesen hast.
Ahja interessant :).
Bedeutet das nun, dass dieser "gay game coder" der Spieleprogrammierer selbst ist, oder dass dieser nur falsche Infos in die Welt gesetzt hat, die nun kopiert werden? naja wie auch immer.
-
Keine Ahnung, aber der Name "gay game coder" lässt vermuten, dass er es nicht selber ist.
-
CrazyOwl schrieb:
Keine Ahnung, aber der Name "gay game coder" lässt vermuten, dass er es nicht selber ist.
lol ok alles geblickt