MFCでオブジェクトを動的に作成する方法を教えてください。
MFCでは、C++の動的メモリ確保関数newを使ってオブジェクトを動的に生成することができます。次に、MFCでオブジェクトを動的に生成する一般手順を示します。
- 動的にオブジェクトを作成する必要に応じて、newキーワードを使い、オブジェクトへのポインタを作成します。たとえば、CMyObjectオブジェクトへのポインタを作成するには、以下のコードを使用します。
CMyObject* pObj = new CMyObject;
- newの後にコンストラクタのパラメータリストを加えると、コンストラクタにパラメータを渡すことができます。たとえば、CMyObjectのコンストラクタに整数値のパラメータを渡すには、次の構文を使用できます。
CMyObject* pObj = new CMyObject(123);
- オブジェクトの作成が成功するとオブジェクトへのポインタを返す。そうでなければ、NULLポインタを返す。
if (pObj != NULL)
{
// 创建对象成功
}
else
{
// 创建对象失败
}
- 動的生成されたオブジェクトを用いて操作する。
if (pObj != NULL)
{
pObj->DoSomething();
}
- 必要なくなったオブジェクトはdeleteキーワードを使ってメモリを解放します。
delete pObj;