C++ was developed by Bjarne Stroustrup as an extension of C with classes and objects. It allows for real-world modeling through classes that can represent objects with both attributes and behaviors. A class is a user-defined datatype that is similar to a structure but includes data hiding - data is private by default. An object is an instance of a class, representing a variable of a user-defined type like a class.