template < typename A, typename B, typename C > struct Trinity { A a; B b; C c; Trinity& operator=(const Trinity& rhs) { a = rhs.a; b = rhs.a; c = rhs.a; return *this; } };