(since C++11) |
class
can be used to introduce type template parameters and template template parameters class
can be prepended to the name for disambiguation, resulting in an elaborated type specifier 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 }
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/keyword/class