Omnet++中“@class”关键字的用法

The usage of “@class” keyword in Omnet++

我想了解“@class”关键字在 Omnet++ 中的用法,“@class”关键字在 Omnet++ 中的用途是什么? @class的入参有什么用?如果我不使用@class关键字,会出现什么问题?例如,在下面的代码中:

simple UDPBasicAppNew extends UDPBasicApp
{
    parameters:

        @class(UDPBasicAppNew);
        int numberOfMessages = default(10000000);
}

如果行“@class(UDPBasicAppNew);”被移除,出现了什么问题?

提前致谢

根据OMNeT++ Simulation Manual

IMPORTANT
When you extend a simple module type both in NED and in C++, you must use the @class property to tell NED to use the new C++ class -- otherwise the new module type inherits the C++ class of the base!

表示如果将UDPBasicAppNew声明为:

simple UDPBasicAppNew extends UDPBasicApp {
  parameters:
    int numberOfMessages;
}

名为 UDPBasicApp 的 C++ class 将用于 UDPBasicAppNew

但是,如果这样声明 UDPBasicAppNew

simple UDPBasicAppNew extends UDPBasicApp {
  parameters:
    @class(UDPBasicAppNew);
    int numberOfMessages;
}

名为 UDPBasicAppNew 的 C++ class 将用于 UDPBasicAppNew