Suche Hilfe in C++!
-
aha,
danke werde ich mir mal genauer durchlesen, aber ich verstehe nicht den sinn einer Klasse. Wieso erstellt man Klassen? Ist doch sowas wie ne funktion.
Oder?
-
Muffin Man schrieb:
Ja.
lol, sage ich doch, das wird da halt nicht beschrieben.Eine Klasse ist ein selbstdefinierter Datentyp (jedenfalls soweit es die Sprache C++ betrifft), eine Variable dieses Typs nennt man dann Objekt oder Instanz dieser Klasse. Das steht in jedem C++ Buch drin, also hast du entweder das falsche Buch, oder ...
-
Fang besser erstmal ganz langsam an. Für die ersten Gehversuche in C/C++ brauchst Du noch gar nciht zu wissen, was eine Klasse ist und was man damit macht. Diese Frage wird sich für Dich beantworten, wenn Du bereits die ersten "Gehversuche" unternommen hast. Eine genaue Erklärung dessen, was man in C++ unter dem Begriff "Klasse" versteht, ist auch sehr schwer zu vermitteln, wenn Du mit der anderen Terminologie nicht vertraut bist. Ausserdem wird es in einem Deienr Bücher (C++ in 21 Tagen) sehr wohl erklärt. Dieses Buch kannst Du doch erstmal als Ausgangspunkt wählen, nur solltest Du die "Tage" eher als Kapitel ansehehen. Im Buch heisst das Tage, weil sich das Buch so (vielleicht?) besser verkaufen lässt. Wenn Du dort eine Erklärung nihct verstehst, oder Probleme mit einer Aufgbe haben solltest, kannst Du ja hier posten. Nun zu Deiner Frage, obwohl ich nicht glaube, dass Dir das wirklich weiterhilft:
Eine Klasse ist ein Konstrukt der objektorientierten Programmierung, welches neben einfachen Datentypen und weiteren Objekten, die als Attribute umgesetzt werden, noch Funktionen umfassen kann, die als Methoden jene Attribute manipulieren können.
Das ist SEHR knapp gehltn, wenn es Dich weiter interessiert, lies das Buch...
-
na bitte so eine erklärung brauchte ich also ist eine Klasse sowas wie ein Haus in dem ganz viele Leute mit nummern (oder anderen werten) auf dem t-shirt wohnen. Wenn ich jetzt also schreibe:
class haus1 { piblic: int bewohner1; int bewohner2; int bewohner3; } haus1 hs;
kann ich jeden im haus so ansprechen:
hs.bewohner1; hs.bewohner2; hs.bewohner3;
ja?
Wenn das stimmen sollte habe ich es soweit verstanden, aber ich verstehe nur dieses public noch nicht.
Danke schonmal.
-
Das public bedeutetd, dass "jeder" auf dieses Element zugreifen kann.
Wenn man das nicht möchte (man macht deutlich weniger Fehler) benutzt man private.Gruß
Glamdring
-
Also ich bin zwar auch newbie aber hab eine ganz gute Erklärung dafür gefunden was public oder private ist.
Also wie mein vorschreiber schon sagte public ist komplett öffentlich. D.h. ich kann von außen auf diesen Teil meiner Klasse oder halt auch die ganze Klasse Werte übergeben. Private erlaubt nur innerhalb der Klasse selber Werte zu übergeben. D. h. aus meiner main kann ich in den Teil der Klasse der private deklariert ist nichts übergeben. Man kann halt die Klasse aufteilen in private Bereiche und public Bereiche. z. B.:class test
{
private:int x;
int y;public:
void ausgabe()
{
cout << "X hat den Wert: " << x << endl;
}
};int main()
{
return 0;
}// ich weiß das ganze ergibt keinen Sinn!
hoffe ich konnte Dir es ein wenig verständlicher machen.
SpeedyTry
-
Ah, danke.
Ich habe es verstanden. Unglaublich.
Also jetzt nochmal Danke an alle die hier geschrieben haben , es hat mir alles geholfen.
Cooles Forum ist das.
MFG Muffin Man
-
Vielleicht noch als Ergänzung:
Der Vorteil liegt vor allem darin, dass du in der Klasse bestimmen kannst, welche Werte der Variablen zugwiesen werden können.
Beispiel:
#include <iostream> using namespace std; class Person{ public: Person() {m_age = 0;} // Standardwert = 0... void setAge(int age) { // Alter setzen... if(age<0){ cout <<"Unzulässiges Alter." << endl; } else m_age = age; // Wird nur ausgeführt, wenn age nicht kleiner als 0 ist return; } int getAge(){ // Gibt das Alter aus... return m_age; } private: int m_age; // Kann nur über die Methoden setAge() verändert und durch getAge() abgefragt werden }; int main() { Person typ; typ.setAge(-1); // Unzulässig... cout << typ.getAge() << endl; typ.setAge(26); // Zulässig... cout << typ.getAge() << endl; }
Am Anfang wird der Variablen m_age der Wert 0 zugewiesen. Das ist auch der kleinste Wert. Da Alter ja nicht -1 sein kann (logisch, oder? :D) ist das unzulässig. Wenn du jetzt direkt auf die Variable zugreifen könntest, wäre es eben möglich, jeden x-beliebigen Wert zuzuweisen. So kannst du die Klasse benutzen, ohne darauf achten zu müssen. Wenn ein unzulässiger Wert eingegeben wird, wird sie dich darauf aufmerksam machen und weiter mit 0 arbeiten. Du kannst z.B. auch sagen, dass Werte über 60 unzulässig sind etc.
-
Ich bin auch 13 Jahre alt und lern gerade C++. Können ja vielleicht in ICQ auch reden
. Hab dich schon in meine liste aufgenommen.
-
Dummerweise funzt mein icq net mehr.