MFC IMPLEMENT_DYNCREATE
以下面的方式创建对象
CObject* PASCAL class_name::CreateObject() \
{ return new class_name; }
哪个调用默认构造函数。我想用自定义参数调用参数化构造函数。
是否可以将参数传递给IMPLEMENT_DYNCREATE
宏?
IMPLEMENT_DYNCREATE
的调用方式,有人可以解释吗?
答案 0 :(得分:0)
有什么方法可以将参数传递给
IMPLEMENT_DYNCREATE
宏?
不。该宏扩展为MFC实现动态对象创建所需的功能。例如,在动态构造视图或从磁盘反序列化对象时使用此方法。宏本身从未被调用。详细信息在Run-Time Object Model Services中概述。
此限制并不表示不允许您提供用户定义的构造函数。您仍然可以这样做,并在代码中调用这些构造函数,尽管我怀疑这样做是否会使代码易于维护。除了默认的构造函数,该框架不会调用任何东西。
请注意,默认构造函数定义为构造函数,可以在不传递任何参数的情况下调用它。具有一个或多个参数(都为其分配了默认参数)的构造函数仍被视为默认构造函数。