Qt4.7中 默认的构造函数
初学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中 默认的构造函数相关推荐
- 关于C++默认拷贝构造函数产生的问题的讨论
对于拷贝构造函数,我前面的博文有提起过,不过,有的时候,浅拷贝和深拷贝真的很难理解,所以,我们再进行关于拷贝构造函数的一些讨论. 大家都整到拷贝构造函数分为浅拷贝和深拷贝,系统默认的拷贝构造函数是浅拷 ...
- Java抽象类中可以有构造函数吗
答案是肯定的,Java的一个抽象类中可以有构造函数,抽象类虽然不能够实例化对象,但是子类通过继承抽象类,必然需要实现其中的抽象方法,同时子类也需要实例化对象,这个时候,会调用父类的默认的无参构造方法或 ...
- C++默认拷贝构造函数
C++默认拷贝构造函数 转载来源 c++类的中有两个特殊的构造函数,(1)无参构造函数,(2)拷贝构造函数.它们的特殊之处在于: (1)当类中没有定义任何构造函数时,编译器会默认提供一个无参构造函数且 ...
- C++类中的拷贝构造函数
文章目录 前言 二.拷贝构造函数 1.拷贝构造函数定义 2.默认拷贝构造函数存在的问题 3.解决方式 三 总结 四 参考 如有错误,希望大家批评指正,日拱一卒,功不唐捐. 前言 最近项目的技术栈是C+ ...
- 关于scala中的主构造函数
在前期scala的学习中我们一般添加变量时采用的是java风格的成员定义方式,例如下面的代码. class Student{var name : String = _ } Scala会生成一个默认的构 ...
- Swift - AppDelegate.swift类中默认方法的介绍
项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下: 1,应用程序第一次运行时执行 这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法. ...
- MySQL数据库中默认事务隔离级别是?
MySQL数据库中默认事务隔离级别是? 事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到 ...
- SQL2000中默认sa帐号改名和删除的最安全方法
SQL2000中默认sa帐号改名和删除的最安全方法 from:[url]http://bbs.51cto.com/thread-407159-1-1.html[/url]众所周知,在M$sql中有个绝 ...
- python函数type的用意_Python中type的构造函数参数含义说明
测试代码如下: 复制代码 代码如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info(" ...
最新文章
- 当下常用的webpack版本_细说 webpack系列 1. 为什么要选择 webpack
- ALV标准过滤功能失效
- wxWidgets:wxAnimationCtrl类用法
- getContentPane()到底是什么?
- 关于双WiFi板卡做路由功能的记录
- OSCHina技术导向:Java模板引擎velocity
- P2634 [国家集训队]聪聪可可(树形dp)
- linux-路径的切换-文件的增删拷-目录的增删拷
- html列表远点小,HTML小知识点积累(示例代码)
- vue 前端设置允许跨域_[web]记一次sanic+vue跨域问题
- python最大的社区_python 最大流
- 可视化:动态气泡图,拿走不谢!
- CCD 与 CMOS
- XTU OJ 素数1076
- ptp精准时间协议_PTP时钟协议原理
- matlab的sinxx,用MATLAB程序编程:分析方程f(x)=sinx-x/2=0正根的分布情况,并用二分法求正根近似值,使误差不超过0.01....
- Python中的datetime模块!
- LDV7 语音识别模块使用方法
- tf.nn.xw_plus_b真方便好用
- 纳斯达克的区块链野望
热门文章
- dubbo + zookeeper 简介和部署
- 即插即用!开源项目【云框架】发布“基于Spring cloud的微服务架构”
- 用“混序”替代鲍尔默
- 都是执行软件测试,差异点在那里
- C#session共享+redis_Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
- python spark2.0_Python+Spark2.0+hadoop学习笔记——Python Spark MLlib决策树二分类
- ssh连接虚拟机的linux_openstack系列之运维排障:虚拟机SSH连接失败
- php顶级框架,10个顶级PHP开源项目「2019」
- 雷军凌晨2点下班、刘强东睡4小时,这碗鸡汤程序员你必须干了
- HTML入门:html常用的标签