15 attributes as mixin revisited Attributes may need to augment instances of a class –May add extended properties to each instance –May add extended public methods to each instance –May require private methods of instance to work properly class ColorAttribute : public IColorableObject { private: virtual void OnColorChanged() = 0; public: COLOR m_color; void colourMyWorld(COLOR c) { m_color = c; this->OnColorChanged(); } };
{}