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.