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.
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;
}
int main()
{
Bar Bar(1);
class Bar Bar2(2); // elaborated type
}
https://en.cppreference.com/w/cpp/keyword/class
Если используется повсемесно, то, имхо, это вкусовщина. Просто человеку так нравится.