Header schreiben *g*
-
gute nacht allerseits

So schauen mal meine Dateien aus...
main.cpp#include<iostream> #include "head.h" int main() { return 0; }head.h
#ifndef HEAD_H #define HEAD_H class header { private: const int irgendwas; const char nameless; }; #endifAber nun kommen folgende Fragen:
1-> Wie kann ich endlich die variablen in der Headerdatei in der Klasse intialisieren?
2-> Was bringt es eigentlich bsp.
#ifndef HEAD_H #define HEAD_Hzu schreiben,wenn man auch
#ifndef LOL #define LOLschreiben könnte?
Oder wird man es etwa irgendwo brauchen?
uhrcas, euer nahe bekannter

-
uhrcas schrieb:
1-> Wie kann ich endlich die variablen in der Headerdatei in der Klasse intialisieren?
So wie du const members immer initialisierst:
header::header() : irgendwas(42), nameless('z') {};Um einen Konstruktor wirst du nur herumkommen, wenn du die Felder als static const deklarierst, was allerdings ihre Semantik ändert und möglicherweise nicht das ist, was du wirklich willst.
2-> Was bringt es eigentlich bsp.
#ifndef HEAD_H #define HEAD_Hzu schreiben,wenn man auch
#ifndef LOL #define LOLschreiben könnte?
Was bringt es, Variablen in einem 100.000-Zeilen-Programm betreffend zu bezeichnen, wenn ich sie auch einfach durchnummerieren könnte? Richtig, ich weiß, welche Variable wozu gehört und kann sie nicht verwechseln. Mit Präprozessorsymbolen verhält es sich genauso. Du hast in der Regel keine zwei Header, die den gleichen Dateinamen haben, also nimmst du ein Präprozessorsymbol, das dem Dateinamen entspricht, dann wirst du dich später beim Hinzufügen eines weiteren Headers nicht fragen, welche Präprozessorsymbole du bereits verwendet hast. Ansonsten braucht man diese Art von Symbolen eher selten, und wenn man sie doch mal braucht, sollte man es anders machen

-
Eigentlich hinlänglich, aber man könnte sie bei
#ifndef _WINDOWS_ #include <windows.h> #endifbenutzen.
-
tommie-lie schrieb:
uhrcas schrieb:
1-> Wie kann ich endlich die variablen in der Headerdatei in der Klasse intialisieren?
So wie du const members immer initialisierst:
header::header() : irgendwas(42), nameless('z') {};Um einen Konstruktor wirst du nur herumkommen, wenn du die Felder als static const deklarierst, was allerdings ihre Semantik ändert und möglicherweise nicht das ist, was du wirklich willst.
DANKE tommie-lie

Also wohin muss ich das da hineinschreiben,wenn ich folgende headerdatei habe:
//header.h #ifndef HEADER_H #define HEADER_H class headerklasse { private: const int namenlos; const char irgendetwas; public: }; #endifMuss ich etwa ..
header::header() : namenlos(42), irgendetwas('z') {};.. in public: hineinschreiben,damit das intialisiert wird oder geht das auch in private:?
noch da mal eine fragenreihe *g*:
1 ..... muss da wirklich am Anfang header::header() stehen?
2 ..... warum steht da noch am ende {};(solche geschweiften Klammern)?uhrcas

-
uhrcas schrieb:
.. in public: hineinschreiben,damit das intialisiert wird oder geht das auch in private:?
Wenn überhaupt unter public, dann aber ohne header:: davor. Ansonsten in public nur den Funktionsnamen deklarieren ("header()") und in einer Implementierungsdatei (bei dir anscheinend nur main.cpp, es bietet sich aber an, für jede Klasse ein Pärchen aus Header und Implementierung zu schreiben) die entsprechende Definition ("header::header() : irgendwas(42), nameless('z') {};"). Einwände siehe unten.
uhrcas schrieb:
1 ..... muss da wirklich am Anfang header::header() stehen?
2 ..... warum steht da noch am ende {};(solche geschweiften Klammern)?Kleiner Tipp: Kauf dir ein vernünftiges Buch oder leih es dir beim der örtlichen Bibliothek aus. Du hast ganz offensichtlich so immense Lücken, daß es dir wenig bringen würde, wenn ich dir jetzt für dich verständlich erklären würde, was ein Konstruktor ist und wie man Funktionen deklariert, weil du dann sofort wieder Fragen hättest, die normalerweise zum Grundwissen gehören. Um es auf gewöhnliche Sprachen zu übertragen: Du versuchst bereits Grammatikregeln anzuwenden und Sätze zu bilden, obwohl du nichtmal das Alphabet kennst. Was du brauchst, ist ein Lehrer oder ein brauchbares Lehrbuch.
Eines, das es online zu lesen gibt, ist dieses, auch wenn es weder sonderlich aktuell noch sonderlich gut ist.
-
ich habe gerade einen thread mit dem aufrufen in der cpp gelesen und derjenige der das sucht,das brauch ich ebenfalls.
Sag mir nur bitte wie man von einer headerdatei ein wort aufruft(per cout)`?
-
ich habe gerade einen thread mit dem aufrufen in der cpp gelesen und derjenige der das sucht,das brauch ich ebenfalls.
Sag mir nur bitte wie man von einer headerdatei ein wort aufruft(per cout)?
-
Ja, wie ruft man eigentlich von einer Headerdatei ein Wort auf

Nein.