Spec-Zone.ru › C++

C++ keyword: class

Usage

  • declaration of a class
  • declaration of a scoped enumeration type
(since C++11)
  • In a template declaration, class can be used to introduce type template parameters and template template parameters
  • If a function or a variable exists in scope with the name identical to the name of a class type, class can be prepended to the name for disambiguation, resulting in an elaborated type specifier.

Example

class Foo; // forward declaration of a class

class Bar  // definition of a class
{
public:
    Bar(int i) : m_i(i) {}
private:
    int m_i;
};

template<class T> // template argument
void qux()
{
    T t;
}

enum class Pub // scoped enum, since C++11
{
    b, d, p, q
};

int main()
{
    Bar Bar(1); // variable Bar hides type Bar
    Bar Bar2(2); // compiler error
    class Bar Bar3(3); // elaborated type
}

See also

  • struct, union
  • final
(since C++11)
  • enum
  • typename
  • template
  • concept, requires
(since C++20)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/keyword/class

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API