Próbuję refaktoryzacji mojego kodu, tak aby używać deklaracji przekazania zamiast zawierać wiele nagłówków. Jestem na tym początku i mam pytanie dotyczące boost :: shared_ptr.Deklaracje przekazywania i shared_ptr
Say 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
Mam następnie funkcję w innej klasy, która przyjmuje obiekt IStarterPtr jako argument, powiedzmy:
virtual void addStarter(IStarterPtr starter)
{
_starter = starter;
}
...
IStarterPtr _starter;
jak mogę do przodu zadeklarować IStarterPtr bez w tym IStarter.h?
Używam C++ 98, jeśli ma to znaczenie.