class is a c++ keyword that creates a TYPE. NOT an object, but a TYPE.
so
class foo {bunch of junk}; //no object
foo x; //x is an object of type foo! the constructor for foo is called here quietly!
note how 'foo' is not the object name, its the type name, like int x, double x, not the name of any variables.
a copy constructor is a little different:
foo y;
foo x = y; //copy constructor is used instead of regular one. I suggest you table the copy constructor idea for a little while (due to
https://en.cppreference.com/w/cpp/language/rule_of_three).
you don't need the new operator to get an object. That is a whole new can of worms, dynamic memory. Everything above shows examples of the same idea I am giving (that the class is the type, and the variables are elsewhere when you USE the type) -- whether you use dynamic memory or make a C array or stuff them into a container or just have 1 ... its exactly the same as an integer in regards to these ideas and done the same way (foo x[100] for a c array, vector<foo> x; for a container, foo* fp for a pointer/dynamic memory, and on and on... all look exactly like int as you have hopefully already seen and learned most of these).