Przekazuj dalej i shared_ptr

Próbuję refaktoryzować mój kod, tak że używam deklaracji forward zamiast włączać wiele nagłówków. Jestem nowy w tym i mam pytanie dotyczące boost :: shared_ptr.

Powiedz, że mam następujący interfejs:

#ifndef I_STARTER_H_
#define I_STARTER_H_

#include <boost/shared_ptr.hpp>

class IStarter
{
public:
    virtual ~IStarter() {};

    virtual operator()() = 0;
};

typedef boost::shared_ptr<IStarter> IStarterPtr;

#endif

Następnie mam funkcję w innej klasie, która pobiera obiekt IStarterPtr jako argument, powiedzmy:

virtual void addStarter(IStarterPtr starter)
{
    _starter = starter;
}
...
IStarterPtr _starter;

jak przekazać deklarację IStarterPtr bez uwzględnienia IStarter.h?

Używam C ++ 98, jeśli ma to znaczenie.

questionAnswers(4)

yourAnswerToTheQuestion