Overview
Chapter 22's CSpaceship object, which will illustrate that there's more than one way to write a COM class. (This will become important as you examine ATL's class composition methods.) Next, we'll investigate ATL, focusing first on C++ templates and raw C++ smart pointers and how they can be useful in COM development. We'll cover the client side of ATL programming and examine some of ATL's smart pointers. Finally, we'll check out the server side of ATL programming, reimplementing the Chapter 22 spaceship example using both classic ATL and attributed ATL to get a feel for ATL's architecture.