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);”被移除,出现了什么问题?
提前致谢
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
。
我想了解“@class”关键字在 Omnet++ 中的用法,“@class”关键字在 Omnet++ 中的用途是什么? @class的入参有什么用?如果我不使用@class关键字,会出现什么问题?例如,在下面的代码中:
simple UDPBasicAppNew extends UDPBasicApp
{
parameters:
@class(UDPBasicAppNew);
int numberOfMessages = default(10000000);
}
如果行“@class(UDPBasicAppNew);”被移除,出现了什么问题?
提前致谢
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
。