A class is a blueprint that defines the data and functions of objects created from it. Constructors are special functions that are executed when an object is created from a class to initialize the object's data. Constructors can be overloaded, do not have a return type, and can only assign variables within the class.