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

Schlüsselwörter
Klassen und Strukturen