делает виртуальное ключевое слово с оператором () () иметь смысл? (Функторы)

Рассмотрим, что у меня есть иерархия, определенная ниже

class Strategy
{
public:
    virtual void Run();
};
class StrategyA : public Strategy
{
public:
    virtual void Run();
};
class StrategyB : public Strategy
{
public:
    virtual void Run();
};

, мне было интересно, замени ли я заменить () с оператором (), и если есть какие-либо преимущества от перспективы дизайна и эффективности Отказ

class Strategy
{
public:
    virtual void operator()();
};
class StrategyA : public Strategy
{
public:
    virtual void operator()();
};
class StrategyB : public Strategy
{
public:
    virtual void operator()();
};

Спасибо

CV.

12
задан blueskin 13 September 2011 в 14:49
поделиться