Introduce common data class
From CSSEMediaWiki
Instead of having the same attributes in two (or more) classes, the common data should be put into a separate class. In C/C++, a structure is often used to manage common data. Because of the maxim Favor composition over inheritance, using an external data class is better than moving the common data into a base class. This should only be done if common behaviour is also shared (see Introduce common base class).