C++:这种构造函数格式是什么意思
C++: what does this constructor format mean?
我正在阅读一个C ++代码,但我无法理解其中的一部分。 这是代码:
BatteryBase.h
00001
00002 #ifndef __Battery_Base_H__
00003 #define __Battery_Base_H__
00004
00005 #include "CommonIncludes.h"
00006 #include "cConsumer.h"
00007 #define SUCCESS 1
00008 #define FAIL 0
00009 #define BATTERY_OUT 2
00010
00012
00017 class BatteryBase : public cSimpleModule
00018 {
00019 protected:
00020 double m_Energy;
00021 double m_CurrentEnergy;
00022 int m_State;
00023 cModule *pCoOrdinator;
00024 cArray ConsumerList;
00025 simtime_t lastTimeOut;
00026 cMessage *batteryOut;
00027 cConsumer *consumer;
00028
00029 public:
00030 Module_Class_Members(BatteryBase, cSimpleModule, 0); //constructo
00031
00032
00034
00036 virtual double GetTotalEnergy(void) const;
.
.
.
00088 virtual void handleMessage(cMessage *msg) = 0;
00089
00091
00094 virtual int RegisterCoordinator(void);
00095 };
00096
00097 #endif // __Battery_Base_H__
我不明白第 32 行是什么意思。 为什么 BatteryBase 类构造函数使用 BatteryBase 类作为参数?请问你帮我吗?
Module_Class_Members(BatteryBase, cSimpleModule, 0); //constructor
这不是您的class
的构造函数。class
的构造函数如下所示:
BatteryBase() {}
Module_Class_Members
是一个宏,它帮助开发人员为他的类创建一个默认构造函数。在您的情况下,它创建一个构造函数,该构造函数应如下所示:
BaseClass() : cSimpleModule() {}
但正如文档中所说,此宏已弃用,您应该将其替换为:
public:
BaseClass() : cSimpleModule() {}
它是一个调用构造函数并设置继承关系的宏。 Module_Class_Members(BatteryBase, cSimpleModule, 0)
.这意味着类BatteryBase
是从cSimpleModule
派生的,它是一个抽象类,为任何模块提供基本功能。再举一个例子。例如
class MyDerivedModule : public MyModule
{
Module_Class_Members (MyDerivedModule,MyModule, 0);
// and again user-specific methods
// follow
};`
希望它能回答你的问题。
相关文章:
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- C++ 将字符串数据包转换为 iphdr语言 - 字符串数据包的格式应该是什么?
- 这种日期和时间格式是什么?
- SDL 中 screenSurface->格式的含义是什么?
- error_code的格式说明符是什么
- '|' scanf 格式字符串是什么意思
- 此示例中指定的此 128 位 AES 密钥的格式是什么
- 学习阅读 ISO C++ 标准所需的逻辑格式和词汇的最佳方法是什么?
- MD5哈希的密码盐字符串的格式是什么?
- 以下程序的格式说明符可能是什么?
- 语言环境"en_US"中 std::time_get::get_time() 的正确时间格式是什么?
- "%p 格式说明符的参数类型是 'void*'"是什么意思?
- c++的生成文件的格式是什么
- windows CopyFile的正确输入格式是什么
- 使用 swprintf() 打印"0x0"的格式字符串应该是什么?
- 编写此指针函数代码的长格式方法是什么
- 联合初始值设定项列表的正确格式是什么?
- C++:这种构造函数格式是什么意思
- %[^n]在scanf()格式字符串中是什么意思
- BOOST程序选项命令行的格式是什么?