Udostępnij za pośrednictwem


klasa (C++)

Słowo kluczowe class jest deklaracją typu klasy lub definiuje obiekt typu klasy.

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

Parametry

  • template-spec
    Specyfikacje opcjonalne szablonu.Aby uzyskać więcej informacji, zobacz Specyfikacje szablonu.

  • class
    Słowo kluczowe class.

  • ms-decl-spec
    Opcjonalna specyfikacja urządzenia klasy magazynowania.Aby uzyskać więcej informacji, zobacz słowo kluczowe __declspec.

  • tag
    Nazwa typu nadana klasie.Znacznik staje się słowem zastrzeżonym w zakresie klasy.Znacznik jest opcjonalny.W przypadku pominięcia zostanie zdefiniowana anonimowa klasa.Aby uzyskać więcej informacji, zobacz Anonimowe typy klas.

  • base-list
    Opcjonalna lista klas lub struktur, z której pochodzą elementy członkowskie tej klasy.Aby uzyskać więcej informacji, zobacz Klasy podstawowe.Każda podstawowa nazwy klasy lub struktury może być poprzedzona przez specyfikator dostępu (publicznych, prywatny, chroniony) i wirtualny słowa kluczowego.Zobacz tabelę dostępu do elementu członkowskiego w Kontrolowanie dostępu do elementów członkowskich klasy, aby uzyskać więcej informacji.

  • member-list
    Lista elementów członkowskich klasy.Aby uzyskać więcej informacji, zobacz Elementy członkowskie klasy.

  • declarators
    Lista deklaratorów, określająca nazwy jednego lub więcej wystąpień typu klasy.Declaratory mogą zawierać listy inicjujące, jeśli wszyscy członkowie danych klasy są public.Jest to bardziej powszechne w strukturach, których dane elementów członkowskich są domyślnie public, niż w klasach.Aby uzyskać więcej informacji, zobacz Przegląd deklaratorów.

Uwagi

Aby uzyskać więcej informacji dotyczących klas w ogóle, należy odwołać się do jednego z następujących tematów:

Aby uzyskać informacje dotyczące zarządzanych klas i struktur, zobacz Klasy i struktury.

Przykład

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

Zobacz też

Informacje

Słowa kluczowe języka C++

Klasy, struktury i związki