- ...Klassenbibliothek2.1
- Oft
wird hierfür der Begriff ,,Objektbibliothek`` verwendet. Dies ist aber
unglücklich, da in diesen Bibliotheken keine Objekte (also die Instanzen)
stehen, sondern nur die Klassen (also die Deklarationen).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Microsoft.4.1
- Das ist wahrscheinlich sinnlos, weil man entweder keine Antwort
bekommt, oder nur die Aussage, daß Bjarne Stroustrup sich nicht an den
MS-Standard hält.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
ähnlich4.2
- Der Einfachheit halber
werden die Datenelemente hier auch als public vereinbart, auch
wenn das in realen Programmen eher nicht wünschenswert ist
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... deklarieren4.3
- Grund: static hat zwei verschiedene
Bedeutungen. Innerhalb von Klassen und Funktionen bedeutet es ,,diese Variable ist statisch``, außerhalb (also für globale
Namen) verhindert es die Sichtbarkeit eines Namens von anderen
Quelltexten aus (siehe [KW:0 ist false]). Letztere Bedeutung hätte es hier, und das wäre
natürlich falsch.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... werden4.4
- Mit
dieser Regel liegt man auf der sicheren Seite; etwas genauer lautet
sie laut [Cline: C++ FAQs]:
,,if any derived class (or any data member and/or base class of any derived
class, or any base class of any data member of any derived class, or
any data member of any base class of any data member of any derived
class and all other recursive combinations of base classes and data
members) has (or will ever have) a nontrivial destructor, and if any
code anywhere deletes (or will ever delete) that derived class object
via a base class pointer, then the base class's destructor needs to
be virtual``. Ich bevorzuge die kurze Regel.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...gibaus()5.1
- Genaugenommen wird die Adresse der
Funktion übergeben
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.