Sdílet prostřednictvím


třída (C++)

Klíčové slovo class deklaruje typ třídy nebo definuje objekt typu třídy.

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

Parametry

  • template-spec
    Volitelné specifikace šablony.Další informace naleznete v tématu Specifikace šablony.

  • class
    Klíčové slovo class.

  • ms-decl-spec
    Volitelná specifikace paměťové třídy.Další informace naleznete v klíčovém slově __declspec.

  • tag
    Název typu daný třídě.Značka se v rámci rozsahu změní na vyhrazené slovo.Značka je volitelná.Pokud je tento argument vynechán, je definována anonymní třída.Další informace naleznete v tématu Typy anonymních tříd.

  • base-list
    Volitelný seznam tříd nebo struktur, ze kterých tato třída získá svoje členy.Další informace naleznete v tématu Třídy Base.Každý název základní třídy nebo struktury může být uvozen specifikátorem přístupu (public, private, protected) a klíčovým slovem virtual.Další informace viz tabulka pro přístup členů Řízení přístupu ke členům třídy.

  • member-list
    Seznam členů třídy.Další informace naleznete v tématu Členy třídy.

  • declarators
    Deklarační seznam určující názvy jedné nebo více instancí typu třídy.Deklarátory mohou obsahovat inicializační seznamy, pokud jsou všechny datové členy třídy public.Toto je běžnější ve strukturách, než v třídách, jejichž datoví členové jsou ve výchozím nastavení public.Další informace naleznete v tématu Přehled deklarátorů.

Poznámky

Další informace o třídách obecně naleznete v následujících tématech:

Informace o spravovaných třídách a strukturách naleznete v tématu Třídy a struktury

Příklad

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

Viz také

Referenční dokumentace

Klíčová slova jazyka C++

Třídy, struktury a spojení