ich möchte c++ lernen
-
Ist dir bei diesem Programm alles(!) klar?
#include <iostream> #include <cmath> #include <conio.h> using namespace std; int main() { double g, k, n, z; cout << "Grundkapital: "; cin >> g; cout << "Zins (%): "; cin >> z; cout << "Jahre: "; cin >> n; k = g * pow( 1.0 + z/100.0, n ); cout << endl << "Ein Kapital von " << g << " Euro, angelegt zu " << z << " Prozent," << endl << "ergibt nach einer Laufzeit von " << n << " Jahren" << endl << "ein Endkapital von " << k << " Euro." << endl; getch(); }
-
Hast du diese Fragen beantwortet in kapitel 6?
FEHLERSUCHE: Was ist falsch an der folgenden Deklaration? class Square { public: int Side; } FEHLERSUCHE: Warum ist die folgende Klassendeklaration nicht besonders nützlich? class Cat { int GetAge()const; private: int itsAge; }; FEHLERSUCHE: Welche drei Fehler wird der Compiler in folgendem Code finden? class TV { public: void SetStation(int Station); int GetStation() const; private: int itsStation; }; int main() { TV myTV; myTV.itsStation = 9; TV.SetStation(10); TV myOtherTv(2); return 0; }
-
Verstehst du dieses Programm komplett? (Thema: lokale Kopie in der Funktion auf dem Stack)
#include <iostream> #include <conio.h> using std::cout; using std::endl; //globale Variablen int a = 1; int b = 2; void ausgabe() { cout << &a << ": " << a << "\t " << &b << ": " << b << endl << endl; } void erfolgloser_swap( int x, int y ) // call-by-value { cout << "Kopien auf dem Stack: " << endl; cout << &x << ": " << x << "\t " << &y << ": " << y << endl; int temp = x; x = y; y = temp; cout << &x << ": " << x << "\t " << &y << ": " << y << endl; cout << "swap nur lokal erfolgreich." << endl; } void zeiger_swap( int * x, int * y ) // C-Lösung call-by-reference { int temp = *x; // Inhalts-Operator // Dereferenzierungs-Operator *x = *y; *y = temp; } void referenzen_swap( int & x, int & y ) // C++-Lösung call-by-reference { int temp = x; x = y; y = temp; } int main() { cout << "Ausgangssituation: " << endl; ausgabe(); cout << "Tausch mittels std::swap(x,y): " << endl; std::swap(a,b); // Methode der Wahl aus der STL ausgabe(); cout << "Tausch mittels Zeiger: " << endl; zeiger_swap(&a, &b); ausgabe(); cout << "Tausch mittels Referenzen: " << endl; referenzen_swap(a,b); ausgabe(); cout << "Erfolgloser Tausch, da nur lokale Kopien getauscht werden." << endl; erfolgloser_swap(a,b); ausgabe(); cout << "Tausch mittels Register eax und ebx: " << endl; //swap (a,b) __asm("mov _b, %eax"); //AT&T Syntax bei Dev-C++ __asm("mov _a, %ebx"); __asm("mov %eax, _a"); __asm("mov %ebx, _b"); ausgabe(); getch(); }
-
Aktiviere bitte deine email-Adresse, dann schicke ich etwas zum Fehlersuchen zu.
-
@cer13erus: Ich denke die Konsole demotiviert dich etwas. Man muss da Anfangs durch und außerdem zaubert man schöne Programme, wenn man kreativ ist.
Liebe Grüße
Reality
-
ab wann sollte man den anfangen mit win programmierung dann wenn man komplett konsole kann?
-
wann sonst?
-
ich mein wenn ich ein normales c++ buch mach da kommt nirgends win programmierung. heisst das das wenn ich das buch durch hab mir eins für win holen muss oder kommt da noch irgendwas dazwischen?
-
Hallo,
es kommt doch auch immer drauf an, was du machen willst. Wenn du z. B. Netzwerkprogrammierung machen willst, brauchst du GUI-Programmierung überhaupt nicht.
Zum Zeitpunkt kann man immer schlecht was sagen, aber ich denke wenn du die meisten oder zumindest viele Fragen beantworten kannst, die im C++ Forum gestellt werden, könntest du reif sein.
Du siehst ja selber, wo du die meisten Probleme hast. Wenn du beispielsweise Vererbung und Polymorphismus noch gar nicht verstanden hast, brauchst du dich mit Sachen wie GTKmm oder wxWidgets gar nicht beschäftigen. Und das MVC-Prinzip solltest du zumindest schonmal gehört haben und ein paar Entwurfsmuster wären auch nicht schlecht. Das ist zumindest meine Meinung. Allerdings gab es dazu schon etliche Threads, einfach mal suchen.
-
<= Java-Programmierer
Ich denk mal, wenn du das wichtigste kannst wie Zeiger, Referenzen, OOP, Vererbung, Polymorphie, I/O etc. bist du bereit für die GUI-Programmierung. Wenn dir eines der Wörter nichts sagt, bist du jedenfalls nicht bereit.
Liebe Grüße
Real
-
thx leute!!
ich werd mich da in den nächsten tagen mal durch arbeiten, vielleicht kommen dann zwischen dur ab und an mal ein paar fragenaber ich denke das wir erstmal so zu schaffen sein, BIG THX
mfg
-cer13erus
-
Aktiviere bitte deine Mail-Adresse im Forum.
-
@Facer:
Versuche beim Lernen von C++ nach folgender Struktur vorzugehen:- C++ Grundlagen (vielleicht auch etwas C)
- OOP (Klassen, ...)
- STL (siehe auch boost)
- GUI-Programmierung
- OpenGL und/oder DirectX
-
Facer schrieb:
ab wann sollte man den anfangen mit win programmierung dann wenn man komplett konsole kann?
kommt drauf an, was du vor hast.
willste schnell klickibuntis machen, dann frühenstens nach dem buch "effektiv c++ programmieren" und nachdem du es begriffen hast.
willste schnell guru werden, dann sollstest du in der tat vor win-programmierung die ein wenig lisp reinpfeifen (um programmieren zu lernen (wer c++ kann, kann lange noch nicht programmieren!!!(drei rufzeichen))) und java (mal ne gute lib sehen, bevor man mit mist arbeitet).
dann haste gute grundlagen. dein interesse muss sein, programmieren zu lernen. ne willkürliche gui-lib ist später mal einfach sowas irrelevantes wie ms-word kennen und damit texte schreiben können oder apache kennen und damit im config-file php einschalten können.
sobald du von einer gui-lib etwas lernst, was du später mal gebrauchen könntest, haste verloren. geh in diesem falle sofort zurück zu den grundlagen und finde heraus, weshalb die gui-lib das doch schlecht gelöst hat.