Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
cpp:start [2010/01/09 10:14] xin |
cpp:start [2022/09/22 19:58] (aktuell) |
||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| Ihr habt eine gute Wahl getroffen. Wie gut, werdet ihr in der [[cpp:introduction|Einleitung]] und im Verlauf eurer "Programmiererkarriere" noch bemerken. | Ihr habt eine gute Wahl getroffen. Wie gut, werdet ihr in der [[cpp:introduction|Einleitung]] und im Verlauf eurer "Programmiererkarriere" noch bemerken. | ||
| - | Um zu beginnen, lest euch die [[cpp:introduction|Einleitung]] durch und arbeitet euch langsam Artikel für Artikel nach vor.\\ | + | Um zu beginnen, lest euch die [[cpp:introduction|Einleitung]] durch und arbeitet euch langsam Artikel für Artikel vor.\\ |
| ===== Voraussetzungen ===== | ===== Voraussetzungen ===== | ||
| Zeile 21: | Zeile 21: | ||
| ===== Grundlagen ====== | ===== Grundlagen ====== | ||
| - | * [[cpp:new|Speicher anfordern und freigeben]]: new und delete | + | |
| + | * Neue [[cpp:operator:start|Operatoren]]: Speicher anfordern und freigeben mit [[cpp:new|new und delete]] | ||
| * [[cpp:var:init|Initialisieren von Variablen]] | * [[cpp:var:init|Initialisieren von Variablen]] | ||
| * [[cpp:type:start|Neue Datentypen]] | * [[cpp:type:start|Neue Datentypen]] | ||
| + | * [[cpp:defaultparams|Default Parameter]] | ||
| * [[cpp:cast:why|Neue Casts]] | * [[cpp:cast:why|Neue Casts]] | ||
| * [[cpp:cast:static|Statische Casts]] | * [[cpp:cast:static|Statische Casts]] | ||
| Zeile 31: | Zeile 33: | ||
| * [[cpp:class:def|Wie definiert man eine Klasse]] | * [[cpp:class:def|Wie definiert man eine Klasse]] | ||
| * [[cpp:class:member|Was ist ein Member?]] - Variablen, Methoden und statische Funktionen | * [[cpp:class:member|Was ist ein Member?]] - Variablen, Methoden und statische Funktionen | ||
| + | * [[cpp:class:this|Der this-Pointer]] - Der Zeiger auf sich selbst | ||
| + | * [[cpp:class:static|Statische Member]] | ||
| * [[cpp:class:construct|Konstruktoren]] | * [[cpp:class:construct|Konstruktoren]] | ||
| + | * [[cpp:cast:construct|Casten durch Umformen]] | ||
| * [[cpp:class:init|Die Initialisierungsliste]] | * [[cpp:class:init|Die Initialisierungsliste]] | ||
| * [[cpp:class:private|Kapselung]]: Member verstecken (Information Hiding) | * [[cpp:class:private|Kapselung]]: Member verstecken (Information Hiding) | ||
| Zeile 47: | Zeile 52: | ||
| * [[cpp:inheritance:start|Die Spielregeln zum Ableiten]] | * [[cpp:inheritance:start|Die Spielregeln zum Ableiten]] | ||
| * [[cpp:inheritance:def|Basiskonstruktoren rufen]] | * [[cpp:inheritance:def|Basiskonstruktoren rufen]] | ||
| + | * [[cpp:inheritance:overwrite|Überschreiben]] | ||
| * [[cpp:inheritance:multiple|Mehrfachableitungen]] | * [[cpp:inheritance:multiple|Mehrfachableitungen]] | ||
| * [[cpp:inheritance:using|Gleichnaminge Member in zwei Basisklassen]] | * [[cpp:inheritance:using|Gleichnaminge Member in zwei Basisklassen]] | ||
| Zeile 53: | Zeile 59: | ||
| ===== Überladen ===== | ===== Überladen ===== | ||
| - | * [[cpp:overload:start|Vorteile des Überladens]] | + | * [[cpp:overload:start|Funktionen und Methoden überladen]] |
| - | * [[cpp:overload:functions|Funktionen überladen]] | + | |
| - | * [[cpp:overload:method|Methoden überladen]] | + | |
| * [[cpp:overload:using|Überladene Funktionen in den Namensraum zurückholen]] | * [[cpp:overload:using|Überladene Funktionen in den Namensraum zurückholen]] | ||
| * [[cpp:operator:overload|Operatorüberladung]] | * [[cpp:operator:overload|Operatorüberladung]] | ||
| + | |||
| + | ===== Namensräume ===== | ||
| + | |||
| + | * [[cpp:namespace:start|Einführung]] | ||
| + | * [[cpp:namespace:Definition]] eines Namensraum | ||
| + | * [[cpp:namespace:access|Zugriff]] auf Elemente eines Namensraums | ||
| + | * [[cpp:namespace:using|Namensräume einbinden]] oder einzelne Elemente aus einem Namensraum einbinden | ||
| ===== Const-Correctness ===== | ===== Const-Correctness ===== | ||
| * [[cpp:const:start|Was ist Const-Correctness?]] | * [[cpp:const:start|Was ist Const-Correctness?]] | ||
| - | * [[cpp:const:def|Eine Const-Funktion]] | + | * [[cpp:const:arguments|Const-Argumente]] |
| - | * [[cpp:const:mutable|Veränderbar, trotz Const]]: mutable | + | * [[cpp:const:def|Const-Methoden]] |
| - | * [[cpp:cast:const|Const-Casts]] | + | * Veränderbar, trotz Const: [[cpp:const:mutable|mutable]] |
| + | * Brecheisen für alte Quelltexte: [[cpp:cast:const|Const-Casts]] | ||
| ===== Objektorientierte Programmierung ===== | ===== Objektorientierte Programmierung ===== | ||
| - | * [[cpp:oop:start|Was ist Objektorientierte Programmierung?]] | + | * [[cpp:oop:explanation|Was ist objektorientierte Programmierung?]] |
| - | * [[cpp:oop:virual|Virtuelle Funktionen]] (virtual) | + | * [[cpp:oop:funcptr|Objektorientierung über Funktionspointer]] |
| + | * [[cpp:oop:vtable|Objekttyp-orientierte Programmierung]] | ||
| * [[cpp:oop:slicing|Probleme bei CallByValue-Aufrufen]] (Slicing) | * [[cpp:oop:slicing|Probleme bei CallByValue-Aufrufen]] (Slicing) | ||
| - | * [[cpp:oop:interfaces|Interfaces]] (Pure virtual methods) | + | * [[cpp:oop:virtual|virtuelle Methoden]] Objekttyporientierte Programmierung mit C++ |
| - | * [[cpp:oop:rtti|Runtime Type Information]] | + | * [[cpp:oop:destruct|virtuelle Destruktoren]] Objekttyporientierter Abbau von Objekten |
| - | * [[cpp:cast:dynamic|Dynamische Casts]] | + | * [[cpp:oop:interface|Interfaces]] (Pure virtual methods) |
| + | |||
| + | ==== Laufzeit-Typ-Informationen ==== | ||
| + | * [[cpp:oop:rtti|Run-Time-Type-Information]] (RTTI) | ||
| + | * [[cpp:cast:dynamic|Dynamische Casts]] | ||
| + | ===== Weitere Verwendung von Klassen ===== | ||
| + | * [[cpp:class:functor|Funktor]] | ||
| + | * [[cpp:class:PrePost|Prä- und Post-Funktionen]] | ||
| ===== Generische Programmierung ===== | ===== Generische Programmierung ===== | ||
| Zeile 83: | Zeile 104: | ||
| ===== Hacking ===== | ===== Hacking ===== | ||
| * [[cpp:cast:reinterpret|Reinterpretierende Casts]] | * [[cpp:cast:reinterpret|Reinterpretierende Casts]] | ||
| + | * [[cpp:article:placementnew|Placement New]] | ||