QT中預設的構造函數定義如下:
#include "NetServerThread.h"
class Network : public QObject
{
Q_OBJECT
public:
Network(QObject *parent = 0); //因為QObject *parent為預設參數已經指派,是以此構造
//函數為 Network類的預設構造函數
~Network();
};
#include "NetServerThread.h"
Network::Network(QObject *parent)//這裡寫的構造函數的參數是為了初始化QObject參數parent,
:QObject(parent) //這樣它可以繼承父類QObject初始化的所有資料。
{ //該預設構造函數,執行個體化類時候隻需要 Network network;
//初始化對象
init();
}
Network::~Network()
{
}
其中,構造函數聲明中的QObject *parent = 0表示預設參數,如果構造函數中還有其他參數,則應該滿足:預設參數必須是函數參數清單中最右邊的參數,而且聲明的時候,預設參數可以不添加。
是以,如果想在上面的構造函數中添加其他的參數,則構造函數應該這麼寫:
#include "NetServerThread.h"
class Network : public QObject
{
Q_OBJECT
public:
Network(QString name,QObject *parent = 0); //因為QObject *parent為預設參數已經指派,是以此構造
//函數為 Network類的預設構造函數
~Network();
};
将新添加的參數放在左邊,預設參數放在右邊。