NetworkManager::NetworkManager():m_Thread(0), m_Continue(true), m_Init(false){
}
第一个是名称空间,第二个是函数的名称。那三个参数是什么?我认为它可能与继承有关,但那些不是类名。这些是私人变量。
提前致谢。
答案 0 :(得分:12)
这是构造函数的定义 - 没有名称空间。
NetworkManager :: NetworkManager() : m_Thread(0), m_Continue(true), m_Init(false){
}
构造函数用于名为NetworkManager的类,它使用初始化列表初始化其成员。什么是概念性的(如果不是完全准确的话):
NetworkManager :: NetworkManager() {
create "empty" NetWorkManager object
initialise its m_Thread with zero
set its m_Continue to be true
set its m_Init to be false
}
然后使用构造函数创建一个完全初始化的对象:
NetworkManager manager;
这样的初始化优于构造函数体中的赋值,原因如下:
答案 1 :(得分:3)
NetworkManager::NetworkManager():m_Thread(0), m_Continue(true), m_Init(false){ }
代码使用C ++的一个名为Initializer Lists的功能。它会在NetworkManager
的构造函数被调用之前初始化类NetworkManager
的成员。
它只是:
m_Thread = 0;
m_Continue = true;
m_Init = false;
答案 2 :(得分:1)
这是一个类构造函数,使用成员初始化语法在执行其主体之前设置字段(或调用基类构造函数)。
答案 3 :(得分:1)
这是NetworkManager类的构造函数,它具有(至少)3个成员数据成员m_Thread,m_Continue,m_Init,它们分别设置为值0,True和False。