Suche Hilfe in C++!
-
Hallo,
ich bin C++ Newbie und kann noch nicht gerade sehr viel vielleicht so ein DOS-Rechenprog aber viel mehr auch nicht.
C++ will ich aber auf alle Fälle lernen und wenigstens kleinere Anwendungen in Windows schreiben können. Wenn ich das könnte wär das schon nicht schlecht.
Deshalb suche ich jemanden der mir helfen würde (ICQ, E-mail?). Ich weiss nicht was ich demjenigen geben könnte, aber vielleicht regelt sich das ja. Ich will nur von Anfang an darauf aufmerksam mache, ich bin erst 13 Jahre alt. Wenn ihr jetzt denkt, dass ich dann C++ nicht kapieren könne verstehe ich das schon, aber ich habe schon eine Progrmmiersprache gelernt und kann sie gut einsetzen. Wäre echt nett wenn ihr euch mal mlden würdet. Entweder unter ICQ oder hier erstmal. Dann können wir den Rest regeln. Du müsstest dich dann so mit folgenden bereichen etwas auskennen:
streams(ist mir nicht soo wichtig),
String und Variablen definitionen und weiterer Umgang und bearbeitung damit,
Klassen und Funktionen (definitionen aufruf und erklärung von Klassen),
Zeiger,
Sockets oder Ports (ein ganz kleines bischen nur (so als einstieg)),
Datei erzeugung und bearbeitung (prüfen auf attribute und so)
Wäre echt nett wenn ihr euch meldet. Meine ICQ Nummer ist: 281565653
Meine E-mail ist: D-soft@web.de
Bitte postet erst ins Forum oder schreibt per ICQ bevor ihr ne Mail schreibt. Mein web.de-Account öffnet sich nur sehr langsam.
Danke schonmal im Vorraus.Muffin Man
-
Schau doch ertmal hier:
http://www.c-plusplus.net/forum/viewtopic.php?t=50346Gruß
Glamdring
-
So direkt C++ per ICQ erklären will dir bestimmt keiner
Welche Programmiersprache hast du denn schon gelernt?
Am besten du schnappst dir ein paar Bücher und Tutorials und suchst dir Leute mit denen du deine Intresse an C++ teilst, ob in Internet oder Real Life...
Du könntest doch auch versuchen dir dir Grundlagen anzueignen und dich dann langsam in ein Projekt zu integrieren ;P
-
Danke für die Antworten schonmal.
Ich habe mal so eine Java Basierte Sprache gelernt ist nur nicht ganz so komplex wie Java es besitzt aber auch ein paar funktionen aus C++.
Sie heißt WDL (C-script).
Ich habe mir schon 2 Bücher gekauft (C++ in 21 Tagen(windows anwendungsprogrammierung) und C++ Wochenend Crashkurs(da lernt man solche konsolenanwendungen zu erstellen)).
Ich habe aber immer wieder fragen, die die Bücher nicht behandeln. Zum Beispiel verstehe ich nicht warum im 2ten genannten buch die main function keine void funktion ist sondern unglaublich verstrickte parameter hat. Der Autor schreibt dort, dass ich es einfach erstmal immer so schreiben sollte.
Und ich verstehe das mit den Klassen halt auch nicht, da der utor da nicht so drauf eingeht. Und das mit C++ in 21 Tagen ist irgendwie mehr für (etwas) fortgeschrittene. Also es behandelt nur windows anwendungen und nicht die reine sprache.
Habe die MSVCPP Autoren Edition.
Und ich will auch nicht das ganze Forum so mit Fragen zumüllen die warscheinlich jeder andere weiss.
-
Muffin Man schrieb:
Und ich will auch nicht das ganze Forum so mit Fragen zumüllen die warscheinlich jeder andere weiss.
Warum nicht? Keine falsche Scham. Lass dich nicht von Kommentaren wie
"Das ist alles Müll" ins Boxhorn jagen, lies fleißig in deinen Büchern
oder in Online-Hilfen, und wenn du nicht mehr weiter weist, dann frag hier nach.
-
Zunächst mal ein paar prinzipielle Dinge vorab:
Seit 1998 gibt es den C++-ISO-Standard. Danach sieht das typische Konsolenprogramm heute so aus:
#include <iostream> #include <conio.h> // nur für DOS-Box wichtig wegen getch() using namespace std; // damit Du nicht std::cout usw. schreiben musst int main() // Parameter brauchst Du zunächst nicht { //... cout << "Blabla..." << endl; getch(); // unter MS Windows praktisch wegen DOS-Box } //return 0 ist nicht mehr notwendig bei modernen Compilern.
-
@EH:
Was jetzt ISO-Standard oder conio/getch?
-
Na gut dann werde ich mal etwas fragen.
Ich stelle meine erste Frage, dann gleich mal hier:
Also, was ist eine Klasse? Ich habe bisher gedacht, dass es so etwas wie eine Funktion oder ein array typ ist. Stimmt das? Was ist es genau? und wie lautet die syntax?
Das wäre wohl erstmal so das größte Rätsel.
Wäre cool wenn ihr das so ein bisschen erklären könntet.
MFG Muffin Man
-
Hast du's mal mit nem Buch probiert?
-
Ja.
lol, sage ich doch, das wird da halt nicht beschrieben.
-
Was jetzt ISO-Standard oder conio/getch? Beides! (zumindest für MS Windows)
Klasse am konkreten Beispiel:
siehe http://www.volkard.de/vcppkold/die_klasse_rational.htmlDie Klasse ist hier die Vorlage (Bauplan) für (im Geist) real existierende Objekte, nämlich Bruchzahlen.
Eine Klasse ist also die Bauvorlage, der Konstruktor die Baumaschine und der Destruktor die Abrissbirne für Objekte.
-
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.