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