Lecture 11: C++ Flashcards
(13 cards)
Wie lautet die grundlegende Änderung von C zu C++ in Bezug auf das Programmierparadigma?
Übergang von prozeduraler zu objektorientierter Programmierung.
Welcher Header und welches Ausgabekonstrukt ersetzen stdio.h und printf() in modernem C++?
include <iostream> und std::cout << "…".</iostream>
Hauptunterschied zwischen class und struct in C++?
Standard-Zugriffsrechte: class → Members sind private, struct → Members sind public.
Wie definiert man einen Default-Konstruktor?
MyClass() { … } – gleicher Name wie die Klasse, kein Rückgabewert.
Wozu dient eine Initialisierungsliste im Konstruktor?
Direktes Initialisieren von Membern vor Rumpfausführung, z. B. MyClass(int v) : value(v) { }.
Syntax-Vergleich: Objekt am Stack vs. am Heap erstellen?
Stack: MyClass obj(x);
Heap: MyClass* obj = new MyClass(x);.
Wie greift man auf Member bei Heap-Objekten zu und wie gibt man sie frei?
Mit -> auf Member zugreifen, danach delete obj; aufrufen.
Wann wird ein Stack-Objekt automatisch freigegeben?
Beim Verlassen seines Scopes.
Wie signalisiert man in einer .cpp-Datei, dass eine Methode zu einer Klasse gehört?
Über den Scope-Operator ::, z. B. void MyClass::myFunction() { … }.
Welche kurze Faustregel unterscheidet Java-Objekterstellung von der in C++?
Java nutzt stets new, C++ kann sowohl Stack- als auch Heap-Allokation (wahlweise).
Wie lautet die korrekte Schreibweise einer public-Sektion in C++?
cpp\nclass C { public:\n void f();\n}; (Doppelpunkt nach dem Zugriffs-Keywort).
Welche Datei-Endungen sind nach Kurs-Cheat-Sheet üblich?
.hpp für Header, .cpp für Implementierung.
Welcher Speicher wird durch delete NICHT freigegeben?
Stack-Speicher; delete ist nur für zuvor mit new reservierten Heap-Speicher vorgesehen.