Massachusetts Institute of Technology: Jesse Dunietz's "Object-Oriented Programming (OOP) and Inheritance"

Read this article to learn about the design of classes. Classes are what separate the capabilities of C from that of C++. Classes are the object-oriented aspect of programming.

I like to use the writing utensil example when thinking about classes. If you have a pen, a pencil and a marker, they are all writing utensils. However, when I create a pen, I will use ink; a pencil, I will use lead, and so forth. The color of the pencil or the pen might be different, but its shape and behaviors are the same. This is what object-oriented programming is about. We can define the characteristics of a writing utensil and then create specific instances of each object, based on the unique characteristics of each instance of the object, without having to redefine those characteristics that are common to each.