1 2 3 4 5 6 7 8 9 10 11 12
template < typename A, typename B, typename C > struct Trinity { A a; B b; C c; Trinity<A,B,C>& operator=(const Trinity<A,B,C>& rhs) { a = rhs.a; b = rhs.a; c = rhs.a; return *this; } };