clase (C++)
la palabra clave de class declara un tipo de clase o define un objeto de un tipo de clase.
[template-spec] class [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[ class ] tag declarators;
Parámetros
template-spec
especificaciones opcionales de la plantilla.Para obtener más información, vea Especificaciones de plantilla.class
Palabra clave class.ms-decl-spec
Especificación opcional de clase de almacenamiento.Para obtener más información, vea la palabra clave de __declspec .tag
El nombre de tipo especificado a la clase.La etiqueta se convierte en una palabra reservada dentro del ámbito de la clase.la etiqueta es opcional.Si se omiten, una clase anónima está definido.Para obtener más información, vea Tipos de clases anónimas.base-list
La lista opcional de clases o de estructuras esta clase derivará sus miembros de.Para obtener más información, consulte Clases base.Cada nombre de la clase base o estructura se puede incluir un especificador de acceso (Público, private, protegido) y la palabra clave de virtual .Vea la tabla de acceso a miembros en Controlar el acceso a los miembros de clase para obtener más información.member-list
lista de miembros de clase.Para obtener más información, vea Miembros de clase.declarators
El declarador muestra especificar los nombres de una o más instancias del tipo de clase.Los declarantes pueden incluir las listas de inicializadores si todos los miembros de datos de clase son public.esto es más común en las estructuras, cuyos miembros de datos son public de forma predeterminada, que en clases.Para obtener más información, consulte Información general de Declarators.
Comentarios
Para obtener más información sobre clases consulte normalmente a uno de los temas siguientes:
Para obtener información sobre clases administradas y structs, vea clases y Structs
Ejemplo
// 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;
}