
お忙し中、失礼します。
プログラミングのついて質問させて下さい。
使用言語: C++
使用ヘッダファイル:<map>
[質問]
動的確保したstd:mapを解放したいのですが、
mapの第二引数にクラスポインタを与えた場合、
登録したクラスのメンバ関数を呼び出すことは
出来るでしょうか?
もし可能ならば、方法を教えて頂けないでしょうか??
自作クラス
class C;
class test
{
//メンバ変数
private:
C m_pC;
//メンバ関数
public:
test(); //コンストラクタ
~test(); //デストラクタ
//初期化処理
void Init()
{
m_pC = new C();
}
//終了処理
void Term()
{
delete m_pC;
m_pC = NULL;
}}
};
map 定義
map< ID , test* >* pMap;
マップ解放処理
std::map< ID ,test*>::iterator iterator;
iterator = pMap->begin();
for(iterator ; iterator != pMap.End();iterator++)
{
//************************
//
// ここでtestクラスの解放処理を呼び出したい
// 例) test->Term()
//
//*************************
}
//マップ登録要素クリア
pMap->clear();
まだ、mapの仕様が分かっておらず勉強中の身で
申し訳ないです。
助言頂ければ幸いです。
どうかよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
std::map<X, Y> の個々の要素は std::pair<const X, Y> で、イテレータも pair を指しています。
pair のそれぞれの要素は first, second メンバとしてアクセスできるので、
test* p = iterator->second;
p->Term();
あるいは、同じことですが
iterator->second->Term();
で実現できると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでの画像の形式の変換
-
[C++]std:mapの扱いを教えて頂...
-
<a href>タグ内のURL抽出
-
PHPの名前空間インポートについて
-
Dosブロンプトでtabを出力したい
-
VBScriptでのWEBページのソース...
-
VB.NETでボリュームを取得・設...
-
ウイルスもどき
-
電話番号のフォーマットについて
-
WordでExcelデータを差込...
-
昨日の日付を取得するVBscript
-
オブジェクトの中身の判定(PHP)
-
データベースから出力したデー...
-
wordの差し込み印刷で文字...
-
管理者としてログイン
-
【C#】DataGridViewの最大列数...
-
PHP 指定した期間だけ表示した...
-
VBブラウザに表示されているテ...
-
複数ページでセッションを使わ...
-
Mysqlで2つのtable間のデータ移...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
次のhtml・cssでspan内の文字を...
-
vb作成したらでbeep音が鳴りま...
-
PHPの名前空間インポートについて
-
どういうプログラムを関数化を...
-
python の import エラー Modul...
-
fwriteで改行出来ない
-
エラーの理由が分りません。Pri...
-
サブネットマスクを用いたIP制...
-
VB.NETからVBAマクロ(引数)を呼...
-
タグの追加
-
Let's Encryptで自動更新がされ...
-
[CakePHP] Paginatorのリンクが変
-
PHPでの画像の形式の変換
-
classの再定義エラーについて
-
ExcelVBAで部分一致(*)をしたい
-
PHP、ヒアドキュメント内でのIF...
-
[C#]Arraylistに追加した構造体...
-
Smarty変数の値をJavascript変...
-
number_formatが勝手に四捨五入
おすすめ情報