C ++ - Почему мы должны использовать явный в этом конструкторе?

Пожалуйста, обратитесь кВикипедия: шаблон стратегии (C ++)

class Context
{
    private:
        StrategyInterface * strategy_;

    public:
        explicit Context(StrategyInterface *strategy):strategy_(strategy)
        {
        }

        void set_strategy(StrategyInterface *strategy)
        {
            strategy_ = strategy;
        }

        void execute() const
        {
            strategy_->execute();
        }
};

Почему рекомендуется использовать явный для конструктора Context?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос