class (C++)

La class parola chiave dichiara un tipo di classe o definisce un oggetto di un tipo di classe.

Sintassi

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

Parametri

specifica di modello
Specifiche facoltative del modello. Per altre informazioni, vedere Modelli.

class
La parola chiave class.

ms-decl-spec
Specifica della classe di archiviazione facoltativa. Per altre informazioni, vedere la parola chiave __declspec .

tag
Nome del tipo assegnato alla classe. Il tag diventa una parola riservata nell'ambito della classe. Il tag è facoltativo. Se omesso, viene definita una classe anonima. Per altre informazioni, vedere Tipi di classe anonimi.

base-list
Elenco facoltativo delle classi o delle strutture da cui questa classe deriva i relativi membri. Per altre informazioni, vedere Classi di base. Ogni nome di classe o struttura di base può essere preceduto da un identificatore di accesso (public, private, protected) e dalla parola chiave virtual. Per altre informazioni, vedere la tabella di accesso ai membri membro in Controllo dell'accesso ai membri della classe.

member-list
Elenco dei membri della classe. Per altre informazioni, vedere Cenni preliminari sui membri della classe.

declarators
Elenco dei dichiaratori che specificano i nomi di una o più istanze del tipo di classe. I dichiaratori possono includere elenchi di inizializzatori se tutti i membri dati della classe sono public. Questa operazione è più comune nelle strutture, i cui membri dati sono public per impostazione predefinita, rispetto alle classi. Per altre informazioni, vedere Panoramica dei dichiaratori .

Osservazioni:

Per ulteriori informazioni sulle classi in generale, fare riferimento a uno dei seguenti argomenti:

Per informazioni su classi e struct gestiti in C++/CLI e C++/CX, vedere Classi e struct

Esempio

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

Vedi anche

Parole chiave
Classi e struct