Klasa (C++)
class Słowa kluczowego deklaruje 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
Opcjonalne szablon specyfikacje.Aby uzyskać więcej informacji, odnoszą się do Szablon specyfikacje.class
class Słowa kluczowego.ms-decl-spec
Specyfikacja opcjonalne klasy magazynowania.Aby uzyskać więcej informacji, odnoszą się do __declspec słowa kluczowego.tag
Nazwa typu, biorąc pod uwagę do klasy.Tag staje się słowo zarezerwowane w zakres tej klasy.Tag jest opcjonalny.Jeśli argument jest pominięty, klasa anonimowe jest zdefiniowana.Aby uzyskać więcej informacji, zobacz Anonimowych typy klas.base-list
Opcjonalna lista klas lub struktury tej klasy będą czerpać jego członków z.Zobacz Klasy podstawowe Aby uzyskać więcej informacji.Każdego podstawowego nazwa klasy lub struktury mogą być poprzedzone specyfikatora dostępu (publicznych, prywatnego, chronione) oraz wirtualnego słowa kluczowego.Patrz tabela członek access w Kontrolowanie dostępu do członków klasy Aby uzyskać więcej informacji.member-list
Lista członków klasy.Odnoszą się do Członkowie klasy Aby uzyskać więcej informacji.declarators
Określanie nazw jednego lub więcej wystąpień klasy typu listy; niewłaściwy deklarator.Declarators może zawierać listy inicjatorów, jeśli wszystkie elementy danych klasy są public.Jest to bardziej popularne w strukturach, którego elementy danych są public domyślnie, niż w klasach.Zobacz Omówienie Declarators Aby uzyskać więcej informacji.
Uwagi
Aby uzyskać więcej informacji na temat klas ogólnie rzecz biorąc, odwołanie do jednego z następujących tematów:
Informacji na temat klasy zarządzane i strukturach, zobacz klasy i strukturach
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;
}