Diskussion:C++-Programmierung/ Altes Inhaltsverzeichnis

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikibooks

Buch downloadbar[Bearbeiten]

Gibt es hier eine Funktion um sich das Buch zu downloaden? Jedi 16:25, 29. Jul. 2007 Unterschrift nachgetragen von heuler06 16:56, 1. Aug. 2007 (CEST))[Beantworten]

Soweit ich weiß, muss sich erst jemand die Mühe machen, das Buch im PDF Format abzuspeichern. --FreakFlo 16:23, 1. Aug. 2007 (CEST)[Beantworten]
Nicht ganz. Es gibt auch eine Anleitung, wie man ein Wikibook lokal speichern kann. -- heuler06 16:56, 1. Aug. 2007 (CEST)[Beantworten]

Programmieren unter graphischen Benutzeroberflächen[Bearbeiten]

Wieso gehört die Programmierung unter einer graphischen Benutzeroberfläche in ein Buch über C++? Das Thema sollte meiner Ansicht nach besser in einem eigenen Buch beschrieben werden. -- Daniel B 19:03, 5. Sep 2004 (UTC)

Es sollte um die Programmierung von GUIs gehen. --Stefan Kögl 19:51, 5. Sep 2004 (UTC)

Syntax-Highlightening[Bearbeiten]

Den Quelltext einfach blau zu lassen, halte ich für eine bescheidene Idee. Vielmehr soltlen wir entweder um eine Wiki-Erweiterung betteln (;)) oder uns auf ein gemeinsames Webtool einigen, was uns ordentlichen HTML-Quelltext liefert. --Amens 16:53, 25. Sep 2004 (UTC)

Was die Farbe betrifft gebe ich dir recht, aber warum eine Wiki-Erweiterung? Einfach vor jede Zeile in einem Codeblock ein Leerzeichen stellen. --Stefan Kögl 20:53, 7. Aug 2005 (UTC)

Schleifen und Anweisungsblöcke[Bearbeiten]

Ich denke man müsste noch ein Kapitel einführen beim Einstieg, welches Schleifen und if-Anweisungsblöcke bespricht, was denkt ihr dazu?

Dito. Habe soeben den Abschnitt Kontrollstrukturen eingefügt. -- Daniel B 15:22, 1. Jul 2005 (UTC)

Aufbau[Bearbeiten]

Was haltet ihr davon, "Fortgeschrittene Themen" hinter "Objektorientierung" zu setzen? Da C++ eine objektorientierte Sprache ist, braucht man fuer die meisten fortgeschrittenen Themen die Sachen aus diesem Abschnitt. -- grmpf 19:35:56, 22. Aug 2005 (UTC)

Ob man zuerst zB Zeiger oder Klassen behandeln sollte weiß ich nicht. Vielleicht eine ganz andere Aufteilung? --Stefan Kögl 08:29, 23. Aug 2005 (UTC)
Ich waer fuer pointer, da sie auf alles zeigen koennen, nicht nur auf Instanzen von Klassen. -- grmpf 21:51:27, 23. Aug 2005 (UTC)

Sektion: Entwurfsmuster[Bearbeiten]

Da bei den Entwurfsmustern auf die spezifischen Implementierungen bei den Programmiersprachen verwiesen wird (im Moment nur Java), sollten diese Implementierungen dann unter Objektorientierung oder zusätzliche Themen kommen?! -- TLF

Graphische Programmierung[Bearbeiten]

Meint mir nicht auch das Mfc Qt und co nicht in ein eigenes Buch gehören?

Könntet jemand vom Autorenteam das Buch bitte dort eintragen? Danke im Voraus --PSS 10:38, 14. Jun 2006 (UTC)

Navigation_zurückhochvor_buch fehlerhaft[Bearbeiten]

hi
leider ist das Navigation_zurückhochvor_buch nicht überalle eingestzt
ist das absicht? --80.146.231.42 10:18, 4. Jul 2006 (UTC)


Kapitel Objektorientierung[Bearbeiten]

Hallo zusammen, ich möchte gerne die Teile

  • Strukturen und Unions
  • Operatorüberladung

aus dem Kapitel Objektorientierung herausnehmen weil sie nicht Bestandteil der Objektorientierung sind und ins Kapitel "Fortgeschrittene Themen" stecken. Wäre das möglich?--axelf 14:31, 8. Aug 2006 (UTC)

Vorschlag für die Einleitung[Bearbeiten]

Ich finde, daß einem der Einstieg in's Buch unnötig schwer gemacht wird, da direkt in der Einleitung mit Begriffen wie Objekten, Klassen und Instanzen usw. um sich geworfen wird. Ich würde vorschlagen, das Kapitel "Verwendete Formatierung" in "Verwendete Formatierung und grundlegende Begriffe" zu erweitern (ich würde das dann auch machen), damit man zumindest eine Ahnung davon hat, um was es geht. Irgendwelche Einwände? Wenn nicht, lege ich demnext damit los.

Wie ich mir das vorstelle, kann auf meiner Diskussionsseite unter Pläne begutachtet werden.

WikiBookPhil 06:25, 1. Okt 2006 (CEST)

Irgendwann hatte ich die Idee, dem "Buch" ein Glossar anzufügen, wo die grundlegenden Begriffe alphabetisch aufgeführt und kurz beschrieben werden. In absehbarer Zeit werde ich aber nicht dazu kommen, das vernünfig auszuarbeiten. Leg einfach los, der Ansatz sieht nicht schlecht aus. --Bernina 08:10, 4. Okt 2006 (CEST)

Umbruchszeichen[Bearbeiten]

zeilen werden hier manchmal mit "flush" manchmal mit "endl" und manchmal mit "'\n'" beendet
falls es da einen funktionalen unterschied gibt, bitte ich ihn zu erwähnen, ansonsten währ es zumindest gut wenn man schreibt das es dafür mehrere wege gibt
am besten gleich beim ersten erwähnen von "'\n'" --marti 62.180.168.238 13:37, 1. Jan. 2007 (CET)[Beantworten]

Schau mal ins Kapitel Einfache Ein- und Ausgabe, ich habe versucht, das dort noch ein bisschen deutlicher hervorzuheben. --Prog 17:49, 10. Jan. 2007 (CET)[Beantworten]

Nochmal Aufbau[Bearbeiten]

Ich fände es gut, wenn in diesem Buch objektorientierte Programmierung bereits früher mit eingebracht würde, da C++ ja eine objektorientierte Sprache ist. Ich bin der Meinung, dass es sinnvoller wäre, die Kapitel nach ihrem Schwierigkeitsgrad anzuordnen. Funktionstemplates werden beispielsweise vor Klassen beschrieben. Außerdem finde ich, dass dieses Kapitel auch Funktionstemplates heißen sollte, wenn nur diese behandelt werden sollen. Eine Sache liegt mir noch ganz besonders am Herzen: Wie soll man etwas über die STL schreiben, wenn zu diesem Zeitpunkt noch nicht einmal Klassen, Klassentemplates und Operatorüberladung erklärt wurden? Außerdem ist das eine recht umfangreiche Materie, vielleicht sollte sie besser auf mehrere Seiten unter einer eigenen Überschrift behandelt werden.

Bei den ersten paar Kapiteln gibt es eine Aufgabe zu lösen, vielleicht sollte man jedes Kapitel mit ein paar Fragen und Aufgaben abschließen und dann je einen Link auf eine Seite mit einer Musterlösung setzen? Das würde wahrscheinlich vor allem Anfängern helfen, denn sich selbst Aufgaben für ein bestimmtes Gebiet, welches man selbst noch gar nicht beherrscht, auszudenken, ist sehr schwer, um nicht zu sagen nahezu unmöglich. Programmieren lernt man durchs Programmieren.

--Prog 17:49, 10. Jan. 2007 (CET)[Beantworten]

Was soll denn das eigentliche Ziel des Buches sein: Die Sprache C++ zu lernen, oder Programmieren zu lernen anhand der Sprache C++? Das kann ich aus der Projektdefinition leider nicht entnehmen. Ich denke, diese Alternativen würden einen radikal unterschiedlichen Aufbau des Buches bedingen. Wenn das Hauptaugenmerk auf C++ liegt, dann sind die Sprachmerkmale und Bibliotheken das entscheidende Leitmotiv. Soll das Buch hingegen mehr ein Programmierlehrbuch sein, dann sollte m.E. das Hauptaugenmerk auf Programmstrukturen, Programmiermethoden, Paradigmen, Algorithmen und Datenstrukturen achten, und die C++-Konstrukte im Rahmen dieser Erklärungen eingeführt werden. Kurz: Es würde sich um zwei wesentlich unterschiedliche Bücher handeln. Ich denke, es ergibt keinen Sinn, in einem Buch beides machen zu wollen, das ergibt nur ein Buch, das auf keinem der beiden Gebiete gut ist. Dann sollte man besser zwei Bücher machen, z.B. "Die Sprache C++ lernen" und "Programmieren lernen mit C++". Ersteres würde sich vor allem an Menschen wenden, die schon zumindest eine gewisse Ahnung von Programmierung haben und primär an der Erlernung der Sprache interessiert sind. Solche Leute langweilen sich nur, wenn sie z.B. lang und breit erklärt bekommen, was eine Schleife ist; nur allgemein weniger geläufige Programmierparadigmen (z.B. generische Programmierung/STL) sollten da ausführlich erläutert werden (oder die anderen Erläuterungen sollten zumindest klar getrennt und leicht überspringbar sein), dafür können (weiter hinten im Buch) auch Spezialthemen wie z.B. eigene Allokatoren, eigene iostream-Formatierungen (mit xalloc/pword/iword etc.) oder eigene locales behandelt werden. Umgekehrt ist für jemanden, der erst noch programmieren lernen will, die Erklärung solch einfacher Konzepte wie Schleifen und Verzweigungen wesentlich, dafür interessiert er sich vermutlich weniger für Spezialthemen. --85.176.251.56 16:34, 6. Mai 2007 (CEST)[Beantworten]

Verbesserungsvorschlag von ip:84.58.93.37[Bearbeiten]

Hallo alle zusammen!

die ip 84.58.93.37 hat mir folgendes auf meine Disskusionsseite geschrieben:

hilfe Buch: C++

(hallo ähm ich kenn mich mit wikipedia/books noch nicht so gut aus aber ich hoffe ich schreibe diesen kommentar in das (richtige forum


ALSO:

1. es wäre schön wenn du bei dem buch aufschreiben könntest welche programme zum programmieren (von c++) gut wären (vielleicht sogar in kategorien: zB anfänger...)

2. falls du zeit hast wäre es wunderbar wenn du ein video tutorial machen könntest dami man sich einfacher ins programmieren einfindet (das könntest du vielleicht unter tutorials.de stellen falls das in wikibooks nicht geht)


vielen dank schon im vorraus

einer der gerne programmieren lernen möchte;)

Wollte ich nur mal an euch weiterleiten. --PSS 22:07, 5. Mai 2007 (CEST)[Beantworten]

Syntax-Highlightening[Bearbeiten]

Mit GeSHi gibt es eine entsprechende Erweiterung die nun auch Aktiv ist.

Wenn niemand was dagegen hat, stelle ich das Buch mal um ;-)

Zu verfolgen ist die Aktion auf Spezial:Beiträge/MichaelFreyTool.

-- MichaelFrey 07:55, 16. Mai 2007 (CEST)[Beantworten]

Das sieht gut aus --cf 22:58, 23. Mai 2007 (CEST)[Beantworten]

Vorlagen[Bearbeiten]

Welche Vorlagen werden für das Buch noch benötigt? P.s. sollte nicht eine eigene Seite angelegt werden, um über Vorlagen zu Disskutieren? --FreakFlo 20:13, 11. Jun. 2007 (CEST)[Beantworten]

Seite Angelegt: C++-Programmierung/ Vorlagen --FreakFlo 09:22, 16. Jun. 2007 (CEST)[Beantworten]
Außerdem wird C++-Programmierung/ Vorlage:Code verwendet. -- Klartext 23:15, 27. Feb. 2008 (CET)[Beantworten]

Grafische Oberflächen[Bearbeiten]

Kommen die Grafischen Oberflächen in ein eigenes Buch oder bleiben sie in diesem. Ich würde mich dort sonst beteiligen.

--jadephantom 03:45, 16. July 2007 (CEST)

Die grafischen Oberflächen werden in eigene Bücher ausgelagert. Du kannst gerne einem Buch zu einer grafischen Oberfläche für C++ schreiben. --Prog 22:41, 16. Jul. 2007 (CEST)[Beantworten]

Huuuhuuu! *wachrüttel*[Bearbeiten]

Ich habe das Gefühl, dass dieses Projekt seit einigen Monaten in einem unfertigen Stadium vor sich hin schlummert. Was ist denn los mit euch? Keine Zeit mehr oder keine Lust mehr? :-( --RokerHRO 11:26, 3. Jan. 2008 (CET)[Beantworten]

Erst "seit einigen Monaten"? Damit ist das ein höchst aktives Projekt ;-) --84.130.176.71 13:06, 3. Jan. 2008 (CET)[Beantworten]
Naja, ich sehe grade, dass sich inzwischen bei den neuen Kapiteln, die noch nicht auf meiner Beobachtungsliste standen, inzwischen etwas getan hat. Wie kann man sämtliche Kapitel und Unterkapitel eines Wikibooks auf seine Beobachtungsliste setzen? Geht sowas? --RokerHRO 13:21, 3. Jan. 2008 (CET)[Beantworten]
Es gibt Anleitungen in diese Richtung, siehe
-- MichaelFrey 15:24, 3. Jan. 2008 (CET)[Beantworten]

Inhaltsfrage zu C++-Programmierung/ OOP/ Methoden (nicht) überschreiben[Bearbeiten]

Mir ist nicht genau klar was hierhin soll. Kann da vllt. jemand helfen?

Fencer 17:11, 20. Dez. 2008 (CET)[Beantworten]

Deklaration, Definition, Implementierung[Bearbeiten]

In den Texten werden die Begriffe "Deklaration" und "Definition" oft falsch oder synonym verwendet. In C++ gibt es da einen wichtigen Unterschied, der, auch wenn er vielleicht nicht erklärt wird, zumindest sprachlich berücksichtigt werden sollte. Gleiches gilt für "Implementierung" (Es heißt nicht "Implementation" in der Programmierung) und "Definition" von Funktionen/Elementfunktionen. Auch hier gibt es einen Unterschied.

Codefehler[Bearbeiten]

Hallo,

also ich weiß nicht, ob ich hier reinschreiben darf oder nicht, aber ich mach einfach mal. So also ich bin dabei C++ zu lernen und bin so neben ein paar anderen Seiten zu dem Buch hier gestoßen.

Als ich mich nun durch den Abschnitt Brüche durchgearbeitet habe und den gesamten Code aus der Zusammenfassung ausprobiert habe, ist mir ein Fehler aufgefallen.

Ich hatte folgende Aufgabe übergeben: (9/4)-(8/5)
Als Ergebnis bekam ich (-4/20) bzw. -0,2. Doch natürlich sollte das Ergebnis (13/20) bzw. 0,65 lauten. Auch (9/4)+(8/5) lieferte falsche Ergebnisse.

Also begab ich mich Fehlersuche und kam auf den Fehler.


Derzeit ist folgender Code vorhanden:

Bruch& Bruch::operator+=(Bruch const &lvalue){
    unsigned int tmp = kgV(m_nenner, lvalue.m_nenner);
    m_zaehler = m_zaehler * (tmp / lvalue.m_nenner) + lvalue.m_zaehler * (tmp / m_nenner);
    m_nenner  = tmp;
    return *this; // Referenz auf sich selbst zurückgeben
}
 
Bruch& Bruch::operator-=(Bruch const &lvalue){
    unsigned int tmp = kgV(m_nenner, lvalue.m_nenner);
    m_zaehler = m_zaehler * (tmp / lvalue.m_nenner) - lvalue.m_zaehler * (tmp / m_nenner);
    m_nenner  = tmp;
    return *this; // Referenz auf sich selbst zurückgeben
}

ich habe ihn durch folgenden ersetzt:

Bruch& Bruch::operator+=(Bruch const &lvalue){
    unsigned int tmp = kgV(m_nenner, lvalue.m_nenner);
    m_zaehler = m_zaehler * (tmp / m_nenner) + lvalue.m_zaehler * (tmp / lvalue.m_nenner);
    m_nenner  = tmp;
    return *this; // Referenz auf sich selbst zurückgeben
}
 
Bruch& Bruch::operator-=(Bruch const &lvalue){
    unsigned int tmp = kgV(m_nenner, lvalue.m_nenner);
    m_zaehler = m_zaehler * (tmp / m_nenner) - lvalue.m_zaehler * (tmp / lvalue.m_nenner);
    m_nenner  = tmp;
    return *this; // Referenz auf sich selbst zurückgeben
}


Als ich nun wieder die Rechnung (9/4)-(8/5) durchführte, erhielt ich das richtige Ergebnis: (13/20) bzw. 0,65. Und auch die Addition der beiden Brüche führte zu (77/20) bzw. 3,85.

-- Marlon93 23:02, 12. Apr. 2009 (CEST)[Beantworten]

Hab's im Text korrigiert, danke Marlon93. ;-) (Sorry, das ich mal wieder so lange gebraucht hab) --Prog 22:47, 6. Mai 2009 (CEST)[Beantworten]


Ich möchte versuchen eine PDF Version für den Druck als Buch zu erstellen. Die Koordination bitte auf die hier verlinkte Seite. C++-Programmierung/PDF Koordination

Codeformatierung[Bearbeiten]

Hallo, ich wollte sagen, dass die Quelltexte für mich viel schwieriger zu lesen sind, wenn die erste geschweifte Klammer immer in die Zeile geschrieben wird, in der auch deren Befehl bzw. Funktionsdeklaration steht, wie z.B. hier:

int main() {
cout << "Hallo Welt\n";
}

Für mich ist der Quellcode irgenwdie deutlich übersichtlicher, wenn man die geschweifte Klammer eine Zeile darunter schreibt, wie z.B. hier:

int main()
{
cout << "Hallo Welt\n";
}

Ich weiß nicht, wie es andere empfinden, deshalb frage ich hier, ob man das nicht umändern könnte bzw. ob es einen tieferen Sinn hat, weshalb der Quellcode so formatiert ist. (Ich hoffe mal, daß dies die richtige Diskussionsseite ist) --Kadeka 01:24, 25. Jul. 2009 (CEST)[Beantworten]

Das ist halt Geschmackssache. Es gibt zig verschiedene Möglichkeiten und Stile, wie man die Klammern plaziert und einrückt und all das. Der eine mag dieses eher, der andere jenes. Einen "besten" Stil gibt es nicht. --RokerHRO 21:44, 28. Jul. 2009 (CEST)[Beantworten]