Qt重写默认构造函数

原创 2013年12月04日 08:56:41

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();
};
将新添加的参数放在左边,默认参数放在右边。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Qt错误提示:没有合适的默认构造函数可用

Qt提示:没有合适的默认构造函数可用
  • rl529014
  • rl529014
  • 2016年08月18日 23:28
  • 2431

Qt 标题栏(标题、图标)设置

1. 标题设置 MainWindow::setWindowTitle(tr("your title")); 2. 标题栏图标设置 步骤如下(在windows环境下): 首先选择一个icon图标...
  • yuanzhangmei1
  • yuanzhangmei1
  • 2012年08月01日 15:21
  • 4901

[Qt]如何写一个QDialog界面的构造函数的重载

今天做一个QDialog,ui界面,是一个多界面项目中的某个子界面,需要通过主界面的click事件来初始化子界面,并且传如一个参数。传参数有很多办法,我想简单点直接通过重载构建函数来完成。但是如果真的...
  • lion_kangaxx
  • lion_kangaxx
  • 2013年12月23日 14:49
  • 1664

Qt 带自定义参数的构造函数

Qt中带自定义的构造函数事实上和C++的构造函数一样,但又有些不同。 例如: class DataTerminal : public QMainWindow {   Q_OBJECT p...
  • qustdjx
  • qustdjx
  • 2012年09月27日 17:14
  • 8132

QT构造函数中*parent

文章仅仅是用来说明一下一个参数的作用   程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数。这个参数通常是QObject* 或者是 QWidget* 类型的(定义...
  • imxiangzi
  • imxiangzi
  • 2015年08月25日 15:38
  • 1328

Qt重写默认构造函数

QT中默认的构造函数定义如下: #include "NetServerThread.h" class Network : public QObject { Q_OBJECT public...
  • zhenyu5211314
  • zhenyu5211314
  • 2013年12月04日 08:56
  • 2448

Qt 自定义构造函数

Qt自定义
  • wzj2008ccc
  • wzj2008ccc
  • 2014年09月15日 11:32
  • 500

没有合适的默认构造函数可用 QT

原因是由于ui中的objectName被修改,与 namespace Ui { class Widget; }中的"Widget"名称不一致引起的: 将ui中的objectName 改成 ...
  • pyf09
  • pyf09
  • 2017年05月11日 21:33
  • 432

Qt控件函数的重写

重写QLineEdit的focusInEvent()和focusOutEvent()函数: 源码如下: // MYLINEEDIT_H #ifndef MYLINEEDIT_H #define...
  • qustdjx
  • qustdjx
  • 2014年02月28日 13:20
  • 4604

Qt类构造函数中explicit修饰符的作用?

Qt类构造函数中explicit修饰符的作用?explicit是C++的语法关键字。 其功能是:其限定的其类的构造函数只能被显式调用#include using namespace std; cl...
  • w2654189525
  • w2654189525
  • 2016年04月16日 20:30
  • 1824
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt重写默认构造函数
举报原因:
原因补充:

(最多只允许输入30个字)