Erzeugung von Exemplaren in C++ [] (Erzeugung von Exemplaren in C++), Lektion, Seite 723247
https://www.purl.org/stefan_ram/pub/exemplarerzeugung_c++ (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C++-Kurs

Erzeugung von Exemplaren in C++ 

Ein Objekt ist ein Teil des Speichers, der einen bestimmten Datentyp hat.

Ein Exemplar einer Klasse  ist ein Objekt, dessen Datentyp die Klasse ist.

Die Größe und der Aufbau des Objekts werden dann durch diese Klasse definiert wird. Umgekehrt kann man sagen, daß eine Klasse den Aufbau ihrer Exemplaren festlegt.

Durch die bloße Deklaration einer Klasse existiert aber noch kein Exemplar dieser Klasse! Das Anlegen einer Klasse  und das Anlegen eines Exemplars einer Klasse  sind zwei voneinander unabhängige Vorgänge.

Ein Exemplar einer Klasse kann durch eine Variablendefinition mit der Klasse als Typ angelegt werden, solch eine Variablendefinition ist »::entity entity;« in dem folgenden Programm.

Das folgende Programm zeigt diese beiden Schritte. Zuerst wird mit »struct entity { };« eine Klasse definiert. Dann wird mit »::entity entity;« eine Variable »entity« angelegt, deren Typ die Klasse »::entity« ist. Die Schreibweise »::entity entity;« entspricht darin einer Schreibweise wie »int i;«, mit der eine Variable »i« angelegt wird, deren Typ »int« ist. Der Typ der Variablen »entity« ist die Klasse »::entity«. Nach dieser Variablendeklaration bezeichnet der Name »entity« nun ein Objekt, dessen Typ die Klasse »::entity« ist.

main.cpp

#include <iostream>
#include <ostream>

struct entity { };

int main(){ ::entity entity; ::std::cout << sizeof entity << '\n'; }

transcript
1

Das ganze ist übrigens auch ohne den unären Bereichsoperator möglich.

main.cpp

#include <iostream>
#include <ostream>

struct entity { };

int main(){ entity entity; ::std::cout << sizeof entity << '\n'; }

transcript
1

Übungsaufgaben

/   Refaktor „Ändern des Namens“

In dem folgenden Programm wird der Bezeichner »entity« sowohl für eine Klasse als auch für ein Objekt verwendet. Überarbeiten Sie das Programm, indem Sie dafür sorgen, daß die Klasse und das Objekt zwei verschiedene Namen haben, aber ändern Sie sonst nichts anderes.

main.cpp

#include <iostream>
#include <ostream>

struct entity {};

int main()
{ entity entity;
::std::cout << sizeof entity << '\n';
::std::cout << sizeof( ::entity )<< '\n'; }

transcript
1
1

Übungsaufgaben

/   Definieren einer neuen Klasse

Definieren Sie eine Klasse »unit«, legen Sie dann ein Exemplar »one« dieser Klasse an und verwenden Sie dann den sizeof-Operator, um die Größe jenes Exemplars »one« auszugeben.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723247 stefan_ram:723247 Erzeugung von Exemplaren in C++ Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723247, slrprddef723247, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/exemplarerzeugung_c++