Поделиться через


класс (C++)

class ключевое слово объявляет тип класса или задает объект типа класса.

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

Параметры

  • template-spec
    Необязательные спецификации шаблона.Для получения дополнительных сведений см. Спецификации шаблона.

  • class
    Ключевое слово class.

  • ms-decl-spec
    Необязательную спецификацию хранени-класса.Дополнительные сведения см. в разделе __declspec ключевое слово.

  • tag
    Имя типа, присвоенное классу.Тег будет зарезервированым словом в области класса.Тег необязательный.Если этот аргумент опущен, анонимный класс определен.Дополнительные сведения см. в разделе Анонимные типы классов.

  • base-list
    Необязательный список классов или структур этот класс был производным из его элементов.Дополнительные сведения см. в разделе Базовые классы.Каждое имя базового класса или структуры может предшествовать описателем доступа (Открытый" private" protected) и Виртуальный ключевое слово.См. таблицу в доступа к членам Управление доступом к членам класса для получения дополнительных сведений.

  • member-list
    Список членов класса.Для получения дополнительных сведений см. Члены класса.

  • declarators
    Списке декларатора указав имена одного или нескольких экземпляров типа класса.Деклараторы могут содержать списки инициализатора, если все члены данных класса public.Это более общее в структурах, элементы данных public по умолчанию, чем в классах.Дополнительные сведения см. в разделе Общие сведения о деклараторов.

Заметки

Дополнительные сведения о классах см. в разделе одном из следующих разделов:

Дополнительные сведения об управляемых классах и структурах см. классы и структуры

Пример

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

См. также

Ссылки

Ключевые слова C++

Классы, структуры и объединения