class (C++)
Die class
Schlüsselwort (keyword) deklariert einen Klassentyp oder definiert ein Objekt eines Klassentyps.
Syntax
[template-spec]
class [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[ class ] tag declarators;
Parameter
Vorlagenspezifikation
Optionale Vorlagenspezifikationen. Weitere Informationen finden Sie unter "Vorlagen".
class
das Schlüsselwort class
.
ms-decl-spec
Optionale Speicherklassenspezifikation. Weitere Informationen finden Sie im __declspec Schlüsselwort (keyword).
tag
Der Typname, der für die Klasse angegeben wurde. Das Tag ist ein reserviertes Wort innerhalb des Gültigkeitsbereichs der Klasse. Das Tag ist optional. Wenn es nicht angegeben wird, wird eine anonyme Klasse definiert. Weitere Informationen finden Sie unter Anonyme Klassentypen.
base-list
Optionale Liste von Klassen oder Strukturen, von denen diese Klasse ihre Member ableitet. Weitere Informationen finden Sie unter "Basisklassen ". Jedem Basisklassen- oder Strukturnamen kann ein Zugriffsbezeichner (öffentlich, privat, geschützt) und dem virtuellen Schlüsselwort (keyword) vorangestellt werden. Weitere Informationen finden Sie in der Memberzugriffstabelle unter Steuern des Zugriffs auf Klassenmember .
Mitgliedsliste
Liste von Klassenmembern. Weitere Informationen finden Sie unter "Class Member Overview ".
declarators
Deklaratorliste, die die Namen von mindestens einer Instanz eines Klassentyps festlegt. Deklaratoren können Initialisierungslisten enthalten, wenn alle Datenmmber der Klasse sind public
. Dies ist in Strukturen häufiger, deren Datenmmber standardmäßig als in Klassen vorhanden sind public
. Weitere Informationen finden Sie unter "Übersicht über Deklaratoren ".
Hinweise
Weitere Informationen zu Klassen im Allgemeinen finden Sie in einem der folgenden Themen:
Informationen zu verwalteten Klassen und Anweisungen in C++/CLI und C++/CX finden Sie unter Klassen und Strukturen
Beispiel
// class.cpp
// compile with: /EHsc
// Example of the class keyword
// Exhibits polymorphism/virtual functions.
#include <iostream>
#include <string>
using namespace std;
class dog
{
public:
dog()
{
_legs = 4;
_bark = true;
}
void setDogSize(string dogSize)
{
_dogSize = dogSize;
}
virtual void setEars(string type) // virtual function
{
_earType = type;
}
private:
string _dogSize, _earType;
int _legs;
bool _bark;
};
class breed : public dog
{
public:
breed( string color, string size)
{
_color = color;
setDogSize(size);
}
string getColor()
{
return _color;
}
// virtual function redefined
void setEars(string length, string type)
{
_earLength = length;
_earType = type;
}
protected:
string _color, _earLength, _earType;
};
int main()
{
dog mongrel;
breed labrador("yellow", "large");
mongrel.setEars("pointy");
labrador.setEars("long", "floppy");
cout << "Cody is a " << labrador.getColor() << " labrador" << endl;
}
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für