void C::role( int r ) { 
\fbox{C::role}
require( r == PERSON || r == STUDENT ); _role = r; if (roles [role] == 0) { switch (r) { case PERSON : roles [role] = new P(); break; case STUDENT : roles [role] = new S(); break; }; } }

slide: Switching between roles