One of the most powerful tools available to a C++ programmer is the capability to directly manipulate computer memory by using pointers.
Just as you can create a pointer to an integer, you can create a pointer to any object. If you have declared an object of type
Cat, you can declare a pointer to that class and instantiate a
Cat object on the heap, just as you can make one on the stack. The syntax is the same as for integers:
Cat *pCat = new Cat;
This calls the default constructor—the constructor that takes no parameters. ...