classe (C++)
le mot clé d' class déclare un type de classe ou définit un objet d'un type de classe.
[template-spec] class [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[ class ] tag declarators;
Paramètres
template-spec
Fonctionnalités facultatives de modèle.Pour plus d'informations, consultez Caractéristiques de modèle.class
Le mot clé class.ms-decl-spec
spécification facultative de classe de stockage.Pour plus d'informations, consultez le mot clé de __declspec .tag
le nom de type donné à la classe.La balise devient un mot réservé dans la portée de la classe.L'indicateur est facultatif.Si omis, une classe anonyme est définie.Pour plus d'informations, consultez Types de classe anonymes.base-list
la liste facultative de classes ou de structures cette classe dérivera ses membres de.Consultez Classes de base pour plus d'informations.chaque nom de classe de base ou de structure peut être précédé par un spécificateur d'accès (public, privé, protégé) et le mot clé de virtuel .Consultez le tableau d'accès de membre dans Contrôler l'accès aux membres de classe pour plus d'informations.member-list
liste de membres de classe.Pour plus d'informations, consultez Membres de classe.declarators
Liste des déclarateurs spécifiant le nom d'une ou plusieurs instances du type de classe.Les déclarateurs peuvent inclure des listes d'initialiseurs si toutes les données membres de la classe sont public.Il est plus courant dans les structures, dont les données membres sont public par défaut, que dans les classes.Consultez Vue d'ensemble des déclarateurs pour plus d'informations.
Notes
Pour plus d'informations sur les classes couramment reportez -vous à l'une des rubriques suivantes :
Pour plus d'informations sur les classes managées et les structs, consultez Classes et structures
Exemple
// 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;
}