1) A class is a logical entity that defines the structure and behavior of objects. It contains data members, constructors, methods and blocks but does not allocate memory itself.
2) An object is a physical entity that is instantiated from a class. Memory is allocated when an object is created using the 'new' keyword. An object is an instance of a class.
3) Constructors are used to initialize objects. They are called when an object is created and allocate memory for the object. They can be default, no-argument, or parameterized based on whether they take arguments or not.