Compartilhar via


classe (C++)

O class declara um tipo de classe de palavra-chave ou define um objeto de um tipo de classe.

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

Parâmetros

  • template-spec
    Especificações do modelo opcional.Para obter mais informações, consulte Especificações do modelo.

  • class
    A palavra-chave class.

  • ms-decl-spec
    Especificação de classe de armazenamento opcional.Para obter mais informações, consulte o __declspec palavra-chave.

  • tag
    O nome de tipo dado à classe.A marca torna-se uma palavra reservada dentro do escopo da classe.A marca é opcional.Se omitido, uma classe anônima é definida.Para obter mais informações, consulte Tipos anônimos de classe.

  • base-list
    Lista opcional de classes ou estruturas dessa classe irão derivar seus membros do.Consulte Classes base para obter mais informações.Cada nome de classe ou estrutura de base pode ser precedido por um especificador de acesso (pública, particular, protegido) e o virtual palavra-chave.Consulte a tabela de acesso de membro na Controlando o acesso a membros da classe para obter mais informações.

  • member-list
    Lista de membros de classe.Consulte Membros de classe para obter mais informações.

  • declarators
    Lista de Declarador especificando os nomes de uma ou mais instâncias do tipo de classe.Declaradores podem incluir listas de inicializador se todos os membros de dados da classe são public.Isso é mais comum em estruturas, cujos membros de dados são public por padrão, que nas classes.Consulte Visão geral de declaradores para obter mais informações.

Comentários

Para obter mais informações sobre classes em geral, consulte um dos seguintes tópicos:

Para obter informações sobre classes gerenciadas e estruturas, consulte Classes e estruturas

Exemplo

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

Consulte também

Referência

Palavras-chave C++

Classes, estruturas e uniões