Freigeben über


Klasse (C++)

Das class-Schlüsselwort deklariert einen Klassentyp bzw. legt 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 Vorlagen-Spezifikation.

  • class
    Das class-Schlüsselwort.

  • ms-decl-spec
    Optionale Spezifikation Speicherklassen.Weitere Informationen finden Sie in der __declspec-Schlüsselwort an.

  • tag
    Der Typname der Klasse angegeben.Das Tag ist ein reserviertes Wort im Gültigkeitsbereich der Klasse.Das Tag ist optional.Wenn sie nicht angegeben wird, wird eine anonyme Klasse definiert.Weitere Informationen finden Sie unter Anonyme Klassentypen.

  • base-list
    Optionale Liste von Klassen oder Strukturen dieser Klasse abgeleiteten Membern aus.Weitere Informationen finden Sie unter Basisklassen.Jeder Name der Basisklasse oder Struktur kann durch einen Zugriffsspezifizierer (Öffentlich, Private, geschützt) und vom virtuell-Schlüsselwort vorangestellt werden.Weitere Informationen finden Sie in ACCESS-Tabelle die Member Steuern des Zugriffs auf Klassenmember .

  • member-list
    Liste von Klassenmembern.Weitere Informationen finden Sie unter Klassenmember.

  • declarators
    Deklaratoren aufgelistet, die die Namen von einem oder mehreren Instanzen eines Klassentyps angibt.Deklaratoren enthalten möglicherweise Initialisierungslisten, wenn alle Datenmember der Klasse publicsind.Dies ist in Strukturen, deren public Datenmember sind standardmäßig als in Klassen allgemeiner.Weitere Informationen finden Sie unter Übersicht über Deklaratoren.

Hinweise

Weitere Informationen zu Klassen im Allgemeinen finden Sie in einem der folgenden Themen:

Weitere 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;
}

Siehe auch

Referenz

C++-Schlüsselwörter

Klassen, Strukturen und Unions