Tôi đang cố gắng cấu trúc lại mã của mình để tôi sử dụng các khai báo chuyển tiếp thay vì bao gồm nhiều tiêu đề. Tôi mới đến điều này và có một câu hỏi liên quan đến tăng :: shared_ptr.Tuyên bố chuyển tiếp và shared_ptr
Nói rằng tôi có giao diện như sau:
#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
sau đó tôi có một hàm trong một lớp học mà phải mất một đối tượng IStarterPtr như là đối số, nói:
virtual void addStarter(IStarterPtr starter)
{
_starter = starter;
}
...
IStarterPtr _starter;
làm thế nào để tôi về phía trước tuyên bố IStarterPtr không bao gồm IStarter.h?
Tôi đang sử dụng C++ 98 nếu đó là mức độ liên quan.