0

I'm a newbie in OMNet. In my project, I dynamically create a simple module, and I want to use the object created by this module. Does anyone can give me some help?

Source is here:

cModuleType* moduleType = cModuleType::get("Person");
cModule *mod = moduleType->create("per", this->getParentModule());
mod->buildInside();
mod->scheduleStart(simTime());
mod->callInitialize();
job->mod = mod;

Basically, I want to find the object related to the "mod".

Thank you

4

1 に答える 1

0

作成したオブジェクトを「見つける」とはどういう意味かわかりません。あなたはすでにあなたが作成したオブジェクトを持っています、あなたはおそらくそれで何か役に立つことをするためにそれをキャストする必要があります。

モジュール「mod」を操作する場合は、宣言したモジュールタイプ(たとえばMyModule)に「mod」をキャストすることでこれを行うことができます。

MyModule *my_mod = check_and_cast<MyModule *>(mod);

次に、MyModuleのクラス(通常はMyModule.cc)で、やりたいことを何でも実行するいくつかのパブリック関数を定義できます。

MyModule::my_method() {some code}

これを行った場合、現在の関数では、次のように実行できます。

my_mod->my_method();

これがあなたの質問に答えることを願っています。

于 2012-02-16T12:38:05.380 に答える