Ich versuche, meinen Code zu refaktorieren, so dass ich Forward-Deklarationen statt viele Header verwenden. Ich bin neu dazu und habe eine Frage zu boost :: shared_ptr.Forward-Deklarationen und shared_ptr
sagen, dass ich die folgende Schnittstelle haben:
#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
ich eine Funktion in einer anderen Klasse, dann haben die ein IStarterPtr Objekt als Argument nimmt, sagen:
virtual void addStarter(IStarterPtr starter)
{
_starter = starter;
}
...
IStarterPtr _starter;
Wie erkläre ich nach vorn IStarterPtr ohne einschließlich IStarter.h?
Ich verwende C++ 98, wenn das relevant ist.