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. The default destructor is not virtual, therefore a class with a default destructor should generally not be a base class.
Avoid virtual functions and virtual bases.