To maximize the chance that a class will be passed directly:
Use default constructors, especially the default copy constructor, where possible.
Use the default destructor where possible. Because the default destructor is not virtual, a class with a default destructor should generally not be a base class.
Avoid virtual functions and virtual bases.