Как получить объект модуля, динамически созданного в OMNet ++ 4? - PullRequest
0 голосов
/ 13 сентября 2011

Я новичок в OMNet. В моем проекте я динамически создаю простой модуль и хочу использовать объект, созданный этим модулем. Кто-нибудь может мне помочь?

Источник здесь:

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

По сути, я хочу найти объект, связанный с "модом".

Спасибо

1 Ответ

0 голосов
/ 16 февраля 2012

Я не уверен, что вы имеете в виду, «найти» объект, который вы создали.У вас уже есть объект, который вы создали, вам, вероятно, просто нужно привести его, чтобы сделать с ним что-нибудь полезное.

Если вы хотите работать с модулем "mod", вы можете сделать это, применив "mod""к типу модуля, который вы объявили (скажем, MyModule).

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

Затем вы можете определить некоторые публичные функции в классе MyModule (обычно MyModule.cc), которые делают все, что вы хотите.

MyModule::my_method() {some code}

Если вы сделали это, в текущей функции вы можете просто набрать:

my_mod->my_method();

Я надеюсь, что это ответ на ваш вопрос.

...