class Role<T>
{
public:
void say (std::string& dialog, std::list<Role<T>>& listern);
void interact (std::list<Role<T>>& partners);
};
class People;
class Scene
{
public:
void entry (std::list<Role<T>>& roles);
void action ();
};
main()
{
std::list<Role<People>> characters;
Role<People> protagonist; characters.append (protagonist);
Role<People> antagonist; characters.append(antagonist);
Role<People> support_character; characters.append(support_character);
Scene office;
office.enter (characters);
office.action ();
exit (0);
}
As for 逻辑条理, I can't see how yours can be stronger than this.