A constructor is a public (normally) function that belongs to a class. When a new object is created, the appropriate constructor (there can be more than one) is automatically called. They are usually used to initialize member variables, call parent class constructors, and really just class initialization in general.

(I know you didn't ask, but) A deconstructor is similar to a constructor. There may only be one deconstructor in a class. It too is called automatically, but when an object goes out of scope and is used to deinitialize an object (ie: deleting allocated memory, freeing resources, etc).