5,530
社区成员




struct strategy
{
virtual void do(const person*) = 0;
}
struct strategy1 : strategy
{
static strategy* getins() {static strategy1 s; return &s;}
void do(const person*){...}
}
int main()
{
person p;
strategy* s;
if (...)
s = strategy1::getins();
s->do();
}