初学Qt,发现每个例子自带的构造函数:

Network.h头文件

#include "NetServerThread.h"class Network : public QObject
{Q_OBJECTpublic:Network(QObject *parent = 0); //因为QObject *parent为默认参数已经赋值,所以此构造//函数为 Network类的默认构造函数~Network();
};

Network.cpp

#include "NetServerThread.h"Network::Network(QObject *parent)//这里写的构造函数的参数是为了初始化QObject参数parent,:QObject(parent)       //这样它可以继承父类QObject初始化的所有数据。
{                              //该默认构造函数,实例化类时候只需要 Network network;qDebug()<<"构造器开始";//初始化对象init();}Network::~Network()
{
}

实例化Network类的时候,只需要

Network network;

即可调用默认构造函数,不需要写默认参数QObject* parent的值

“默认实参必须是函数参数表中最右边(尾部)的参数
调用具有两个或多个默认实参数的函数时,如果省略的不是参数表中最右边的参数,则该参数右边的所有参数也应省略
默认实参应在函数名第一次出现时指定,通常是在函数原型中”

比如说下面的函数

int fun(int a,int b,int c=3)

{

}

c就是指定的默认实参,通常在函数原型中指定。这里给了3作为默认参数。用平常的时候调用这个函数fun(4,5,6);那么就是a=4,b=4,c=6。如果这样调用fun(1,2)那么就是a=1,b=2,c=3,这里c没有指定,因为c是默认实参,已经有了默认值,这里c就是采用默认值3。

为什么默认实参必须是函数参数表中最右边的参数。把上面的函数改下

int fun(int a=3,int b,int c)

{}

这样调用fun(1,2),这样就是a=1,b=2,而c根本就没有赋到值,就出错了。这些参数都是一一对应的。

参考文章:

C/C++--C++默认参数及其所引起的二义性

QT构造函数中*parent

Qt4.7中 默认的构造函数相关推荐

  1. 关于C++默认拷贝构造函数产生的问题的讨论

    对于拷贝构造函数,我前面的博文有提起过,不过,有的时候,浅拷贝和深拷贝真的很难理解,所以,我们再进行关于拷贝构造函数的一些讨论. 大家都整到拷贝构造函数分为浅拷贝和深拷贝,系统默认的拷贝构造函数是浅拷 ...

  2. Java抽象类中可以有构造函数吗

    答案是肯定的,Java的一个抽象类中可以有构造函数,抽象类虽然不能够实例化对象,但是子类通过继承抽象类,必然需要实现其中的抽象方法,同时子类也需要实例化对象,这个时候,会调用父类的默认的无参构造方法或 ...

  3. C++默认拷贝构造函数

    C++默认拷贝构造函数 转载来源 c++类的中有两个特殊的构造函数,(1)无参构造函数,(2)拷贝构造函数.它们的特殊之处在于: (1)当类中没有定义任何构造函数时,编译器会默认提供一个无参构造函数且 ...

  4. C++类中的拷贝构造函数

    文章目录 前言 二.拷贝构造函数 1.拷贝构造函数定义 2.默认拷贝构造函数存在的问题 3.解决方式 三 总结 四 参考 如有错误,希望大家批评指正,日拱一卒,功不唐捐. 前言 最近项目的技术栈是C+ ...

  5. 关于scala中的主构造函数

    在前期scala的学习中我们一般添加变量时采用的是java风格的成员定义方式,例如下面的代码. class Student{var name : String = _ } Scala会生成一个默认的构 ...

  6. Swift - AppDelegate.swift类中默认方法的介绍

    项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下: 1,应用程序第一次运行时执行 这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法. ...

  7. MySQL数据库中默认事务隔离级别是?

    MySQL数据库中默认事务隔离级别是? 事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到 ...

  8. SQL2000中默认sa帐号改名和删除的最安全方法

    SQL2000中默认sa帐号改名和删除的最安全方法 from:[url]http://bbs.51cto.com/thread-407159-1-1.html[/url]众所周知,在M$sql中有个绝 ...

  9. python函数type的用意_Python中type的构造函数参数含义说明

    测试代码如下: 复制代码 代码如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info(" ...

最新文章

  1. 当下常用的webpack版本_细说 webpack系列 1. 为什么要选择 webpack
  2. ALV标准过滤功能失效
  3. wxWidgets:wxAnimationCtrl类用法
  4. getContentPane()到底是什么?
  5. 关于双WiFi板卡做路由功能的记录
  6. OSCHina技术导向:Java模板引擎velocity
  7. P2634 [国家集训队]聪聪可可(树形dp)
  8. linux-路径的切换-文件的增删拷-目录的增删拷
  9. html列表远点小,HTML小知识点积累(示例代码)
  10. vue 前端设置允许跨域_[web]记一次sanic+vue跨域问题
  11. python最大的社区_python 最大流
  12. 可视化:动态气泡图,拿走不谢!
  13. CCD 与 CMOS
  14. XTU OJ 素数1076
  15. ptp精准时间协议_PTP时钟协议原理
  16. matlab的sinxx,用MATLAB程序编程:分析方程f(x)=sinx-x/2=0正根的分布情况,并用二分法求正根近似值,使误差不超过0.01....
  17. Python中的datetime模块!
  18. LDV7 语音识别模块使用方法
  19. tf.nn.xw_plus_b真方便好用
  20. 纳斯达克的区块链野望

热门文章

  1. dubbo + zookeeper 简介和部署
  2. 即插即用!开源项目【云框架】发布“基于Spring cloud的微服务架构”
  3. 用“混序”替代鲍尔默
  4. 都是执行软件测试,差异点在那里
  5. C#session共享+redis_Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
  6. python spark2.0_Python+Spark2.0+hadoop学习笔记——Python Spark MLlib决策树二分类
  7. ssh连接虚拟机的linux_openstack系列之运维排障:虚拟机SSH连接失败
  8. php顶级框架,10个顶级PHP开源项目「2019」
  9. 雷军凌晨2点下班、刘强东睡4小时,这碗鸡汤程序员你必须干了
  10. HTML入门:html常用的标签