klasa (C++)

Słowo class kluczowe deklaruje typ klasy lub definiuje obiekt typu klasy.

Składnia

[template-spec]
class [ms-decl-spec] [tag [: base-list ]]
{
   member-list
} [declarators];
[ class ] tag declarators;

Parametry

specyfikacja szablonu
Opcjonalne specyfikacje szablonu. Aby uzyskać więcej informacji, zobacz Szablony.

class
Słowo class kluczowe.

ms-decl-spec
Opcjonalna specyfikacja klasy magazynowania. Aby uzyskać więcej informacji, zapoznaj się ze słowem kluczowym __declspec .

tag
Nazwa typu nadana klasie. Tag staje się słowem zarezerwowanym w zakresie klasy. Znacznik jest opcjonalny. W przypadku pominięcia zdefiniowano anonimową klasę. Aby uzyskać więcej informacji, zobacz Anonimowe typy klas.

lista bazowa
Opcjonalna lista klas lub struktur, z których będzie pochodzić ta klasa. Aby uzyskać więcej informacji, zobacz Klasy bazowe. Każda nazwa klasy bazowej lub struktury może być poprzedzona specyfikatorem dostępu (publicznym, prywatnym, chronionym) i wirtualnym słowem kluczowym. Aby uzyskać więcej informacji, zobacz tabelę dostępu do składowych w temacie Kontrolowanie dostępu do składowych klas.

lista elementów członkowskich
Lista składowych klasy. Aby uzyskać więcej informacji, zobacz Omówienie składowej klasy.

Deklaratorów
Lista deklaratorów określająca nazwy co najmniej jednego wystąpienia typu klasy. Deklaratory mogą zawierać listy inicjatorów, jeśli wszystkie składowe danych klasy to public. Jest to bardziej powszechne w strukturach, których składowe danych są public domyślnie, niż w klasach. Aby uzyskać więcej informacji, zobacz Omówienie deklaratorów .

Uwagi

Aby uzyskać więcej informacji na temat klas ogólnie, zapoznaj się z jednym z następujących tematów:

Aby uzyskać informacje na temat zarządzanych klas i struktur w języku C++/CLI i C++/CX, zobacz Klasy i struktury

Przykład

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

Zobacz też

Słowa kluczowe
Klasy i struktury