多くのヘッダーを含める代わりに前方宣言を使用するように、コードをリファクタリングしようとしています。私はこれが初めてで、boost::shared_ptr に関して質問があります。
次のインターフェースがあるとします。
#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
次に、 IStarterPtr オブジェクトを引数として取る別のクラスに関数があります。
virtual void addStarter(IStarterPtr starter)
{
_starter = starter;
}
...
IStarterPtr _starter;
IStarter.h を含めずに IStarterPtr を前方宣言するにはどうすればよいですか?
関連性がある場合は、C++98 を使用しています。