Ab wann "kann" ich C++?

Also eigentlich ne blöde Frage :smiley:
Ich programmier in C++, habs mir aber selbst (mithilfe des Buches „Einstieg in C++“ von Arnold Willemer) beigebracht. Die meisten anderen werdens wahrscheinlich nen Lehre im Informatikunterricht o.ä. gehabt haben. Da ich an meinem Gymnasium(sprachlich :frowning: ) nur knapp zwei Jahre Informatik hatte, und uns da nicht das programmieren beigebracht wurde, hab ich beschlossen es selbst zu lernen.
Meine eigentlichge Frage ist jetzt eigntl. ab wann man behaupten könnte C++ zu „können“. Mit dem Buch bin ich schon länger durch und ´hab somit alle Sachen wie Zeiger, Funktionen, OOP und biischen STL drauf. Schon bevor ich mit dem Buch fertig war hab ich mir schon n neues Buch zur Spieleprogrammierung gekauft, mit dem ich jetzt schon etwas länger Spiele mit der Gamelibrary Allegro Spiele schreibe.
Da hab ich jetz auch schon bisschen was geschrieben (Pong, Space Invaders, usw). Wa sich aber mal brauche ist ein Feedback von meinen Kenntnissen, da mir des in meinem engeren Bekanntenkreis niemeand geben kann.
Also ich hab drauf:

  • Zeiger, also die Grundlagen von C++
  • alle möglichen Arten von Funktionen
  • OOP (also Klassen, Methoden, OOP-Paradigma), und mit generischer hab ichs auch langsam
    raus
  • 2D Spieleprogrammierung mit Allegro

Also was ich bräuchte wäre halt ein Feedback von eurer Seite :smile:

Und braucht man als Programmierer sowas wie WinAPI auch öfters?

Auch wenn die Frage(n) vllt. bisschen blöd gestellt sind danke ich schionmal im Vorraus

MfG

Hmmm

Ähem

Ab wann kann ich Spanisch ?
Wenn ich mich beim Bäcker und in der Metzgerei verständlich machen kann, was ich haben will ? Oder erst, wenn ich mich mit Spaniern flüssig unterhalte, und keiner meinen Akzent bemerkt und mich für einen Madrilenen hält ? Es gibt Leute, die bei der ersten Antwort schon sagen ich kann spanisch, und andere erst bei letzterem.

Genauso ist es bei C++

Es gibt so viele unterschiedliche Leute, die von sich behaupten, C++ zu können, und jeder hat seine eigene Meinung dazu, ob das so ist.

Ich hab da auch keinen definitiven Maßstab, den ich angeben könnte.

es ist ein unterschied zwischen können und können. Wenn die aufgabe lautet schreibe ein Programm welches die Zahlen von 1 bis 10 augibt dann gibt es viele Möglichkeiten. Hier zwei kurzausschnitte von beispielen:

printf(„1\n“);
printf(„2\n“);
printf(„3\n“);
printf(„4\n“);
printf(„5\n“);
printf(„6\n“);
printf(„7\n“);
printf(„8\n“);
printf(„9\n“);
printf(„10\n“);

oder…

for(int i=0;i

Hallo Monty,

Ich halte es für unsinnig, bei einer Sprache eine Grenze zu ziehen können/nichtKönnen. Ich schlage mal diese Kriterien vor:

  • „C“ absolut flüssig, so daß man damit auch ALLES machen kann, was in C++ möglich ist. (So ein Quelltext liest sich eher kryptisch). Das bedeutet, daß Du weißt, was Du da machst.
  • für C++ ist die Verwendung von virtuellen Funktionen in wichtiges Kriterium. Kapiert hat man es wohl, wenn man routiniert auch reine InterfaceKlassen (nur virtuelle Funktionen) verwenden kann.
  • überladene Operatoren - wichtig für kompakten, leicht lesbaren Code.
  • die STL ist nur eine von vielen Bibliotheken - sie bildet aber als eine der wichtigsten ein relevantes aber nicht maßgebendes Kriterium.
  • Aufgeräumter Code mit Namespaces. Wenn man jenseits von 100000 locs ist, sind Namespaces ein absolutes Muß.
  • Templates. Du kannst ja mal versuchen, selber so etwas wie die STL zu schreiben.

Kein Kriterium:

  • Zeiger sind keine besonderheit für C++, da sie bereits in C Verwendung finden.
  • WinAPI - die ist rein systemspeziefisch. Wichtiger ist es, die WinAPI C+±mäßig kapseln zu können. Ob man das braucht, hängt ganz vom Projekt und der verwendeten Bibliothek ab.
  • OOP - ist eigentlich schon ein Teil von C (struct{}), auch wenn dort noch keine Methoden verfügbar sind. Aber wer Probleme mit structs hat, kann auch kein C++.

Denkanstoß:
In Delphi gibt es MethodenZeiger, die bestehen aus Objektzeiger und Funktionszeiger. In C / C++ gibt es das nicht. Aber man kann es basteln. Das zwingt den Programmierer, sich eingehend mit den Interna des Compilers auseinander zusetzen. Und ist zuweilen echt hilfreich.

Vielen Dank für den Tip auf Allegro - werde es mir bei Gelegenheit mal ansehen. Normalerweise arbeite ich mit VisualStudio unter Windows und OpenWatcom unter DOS.

MfG
Rlohdaen

Hallo,

diese Frage zu beantworten ist extrem schwierig! Ab wann bist du z.B. ein Automechaniker? Wenn du einen Mercedes SLK zerlegen kannst, wieder zusammenbaust und er dann wieder faehrt? Und was machst du, wenn ein VW vor der Werkstatt steht?

Die WinAPI brauchst du als Windowsprogrammierer fast jeden Tag… so wie ein Mechaniker seinen Gabelschluessel halt auch :smile:

Wenn du mir Quellcode schickst, kann ich dir gerne eine Bewertung deines Codes und auch der Qualitaet der Struktur abgeben. Ich bin schon seit fast 20 Jahren in der EDV taetig, habe Diplomanden und Bachelor/Masterarbeiten betreut und vergeben. Programmiere aktuell in C++/Java und verwende Qt/WPF unter Windows bzw. Linux/MAC.

Gruss
Andreas