Chapter 15. Why Do You Build Me Up, Just to Tear Me Down Baby?

In This Chapter

  • Creating and destroying objects

  • Declaring constructors and destructors

  • Invoking constructors and destructors

Objects in programs are built and scrapped just like objects in the real world. If the class is to be responsible for its well-being, it must have some control over this process. As luck would have it (I suppose some planning was involved as well), C++ provides just the right mechanism. But first, a discussion of what it means to create an object.

Creating Objects

Some people get a little sloppy in using the terms class and object. What's the difference? What's the relationship?

I can create a class Dog that describes the relevant properties of man's best friend. At my house, we have two dogs. Thus, my class Dog has two instances, Trude (pronounced "Troo-duh") and Scooter. (Well, I think there are two instances — I haven't seen Scooter in a few days.)


A class describes a type of thing. An object is one of those things. An object is an instance of a class. There is only one class Dog, no matter how many dogs I have.

Objects are created and destroyed, but classes simply exist. My pets, Trude and Scooter, come and go, but the class Dog (evolution aside) is perpetual.

Different types of objects are created at different times. Global objects are created when the program first begins execution. Local objects are created when the program encounters their declaration.


A global object is one that is declared ...

Get C++ For Dummies®, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.