C++ keyword:class
From cppreference.com
[edit]Usage
(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.
[edit]Example
Run this code
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 argumentvoid qux(){ T t;} enumclass Pub // scoped enum, since C++11{ b, d, p, q }; int main(){ Bar Bar(1);// variable Bar hides type Bar Bar Bar2(2);// compiler errorclass Bar Bar3(3);// elaborated type}
[edit]See also
(since C++11) |
(since C++20) |