这个宏定义怎么这么复杂,其他的类都继承了这个类;
有个子类FFeedFormat.h这样:
class FFeedFormat : public FDynObject
{
// Constructors, destructor
public:
DYNOBJECT_DECLARE_ABSTRACT(FFeedFormat);
virtual void init(void);
virtual ~FFeedFormat(void);
省略..............................
};
FFeedFormat.cpp最上面还有一句:
DYNOBJECT_IMPLEMENT_ABSTRACT(FFeedFormat, FDynObject)
然后这个子类FFormatFeedResidual.h:
class FFormatFeedResidual : public FFeedFormat
{
// Constructors, destructor
public:
DYNOBJECT_DECLARE_DYNAMIC(FFormatFeedResidual);
virtual ~FFormatFeedResidual(void);
virtual void init(void);
// Methods
public:
virtual int open (const FString&);
virtual int close (void);
virtual int isEof (void) const;
virtual FTxnReq* next (int);
virtual FString description(void) const;
virtual FTxnReq* fee (FParser&);
省略..............................
};
FFormatFeedResidual.cpp有一句:
DYNOBJECT_IMPLEMENT_DYNAMIC(FFormatFeedResidual, FFeedFormat, "residual")
然后有个类FTxnFeedApp没有父类,编译后是一个可执行的TxnFeed.exe,
在命令行直接调用这个exe 并传参数,参数就是上面的 那2个类比如:
TxnFeed -format residual(这个命令实际上还有其他的参数,格式都是这样的,其他的参数类实现方式也是这样的,实际上我没读懂宏定义,也没有找到它是怎么和数据库联系的,这个命令是要改变数据的表的和其他的记录功能等)
FTxnFeedApp.cpp中main()这样写的:
1、 FTxnFeedApp app;
2、app对象用自己的成员方法去调用FFeedFormat::create("residual");的方法
是不是这样就可以通过那个宏定义就可以初始化了一个FFormatFeedResidual对象了?
这个是我的疑问,还有函数的参数那怎么还有个#号呢。