class (C++)
Das class-Schlüsselwort deklariert einen Klassentyp oder definiert ein Objekt eines Klassentyps.
[template-spec] class [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[ class ] tag declarators;
Parameter
template-spec
Optionale Vorlagenspezifikationen. Weitere Informationen finden Sie unter Vorlagenspezifikationen.class
Das class-Schlüsselwort.ms-decl-spec
Optionale Speicherklassenspezifikation. Weitere Informationen finden Sie im Zusammenhang mit dem __declspec-Schlüsselwort.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 Zugriffsspezifizierer (public, private, protected) und das virtual-Schlüsselwort vorangestellt werden. Weitere Informationen finden Sie in der Memberzugriffstabelle unter Steuern des Zugriffs auf Klassenmember.member-list
Liste von Klassenmembern. Weitere Informationen finden Sie unter Klassenmember.declarators
Deklaratorliste, die die Namen von mindestens einer Instanz eines Klassentyps festlegt. Deklaratoren können Initialisierungslisten enthalten, wenn alle Datenmember der Klasse public sind. Dies tritt in Strukturen, deren Datenmember standardmäßig public sind, häufiger auf als in Klassen. Weitere Informationen finden Sie unter Übersicht über Deklaratoren.
Hinweise
Weitere Informationen zu Klassen im Allgemeinen finden Sie in einem der folgenden Themen:
Informationen über verwaltete Klassen und Strukturen 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>
#define TRUE = 1
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;
}