`
haouziwefe
  • 浏览: 122594 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Qt4.7中 默认的构造函数

阅读更多

    <p><span style="font-size: medium;">初学Qt,发现每个例子自带的构造函数:</span></p>
<p><span style="font-size: medium;">Network.h头文件</span></p>
<p>?</p>
<pre name="code" class="cpp">#include "NetServerThread.h"

class Network : public QObject
{
    Q_OBJECT

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

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

}

Network::~Network()
{
}</pre>
<p>?</p>
<p><span style="font-size: medium;">?实例化Network类的时候,只需要</span></p>
<p><span style="font-size: medium;">Network network;</span></p>
<p><span style="font-size: medium;">即可调用默认构造函数,不需要写默认参数QObject* parent的值</span></p>
<p>?</p>
<p>?</p>
<p>?</p>
<div class="quote_title"><br>
<div class="quote_div">“默认实参必须是函数参数表中最右边(尾部)的参数<br>调用具有两个或多个默认实参数的函数时,如果省略的不是参数表中最右边的参数,则该参数右边的所有参数也应省略<br>默认实参应在函数名第一次出现时指定,通常是在函数原型中”
<p>?</p>
<p>?<span style="font-size: small;">比如说下面的函数</span></p>
<p><span style="font-size: small;">int fun(int a,int b,int c=3)</span></p>
<p><span style="font-size: small;">{</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">}</span></p>
<p><span style="font-size: small;">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。</span></p>
<p><span style="font-size: small;">为什么默认实参必须是函数参数表中最右边的参数。把上面的函数改下</span></p>
<p><span style="font-size: small;">int fun(int a=3,int b,int c)</span></p>
<p><span style="font-size: small;">{}</span></p>
<p><span style="font-size: small;">这样调用fun(1,2),这样就是a=1,b=2,而c根本就没有赋到值,就出错了。这些参数都是一一对应的。</span></p>
<p>?</p>
<p>?</p>
<p>?</p>
<p>参考文章:</p>
<p><a style="color: #000000; text-decoration: none; font-family: 'Microsoft YaHei'; font-size: 20px; line-height: 30px; text-align: left;" title="C/C++--C++默认参数及其所引起的二义性" href="http://blog.csdn.net/wudemiao1246403394/article/details/6992487">C/C++--C++默认参数及其所引起的二义性</a></p>
<p><a href="http://blog.sina.com.cn/s/blog_6340cd9c0100rabk.html"></a></p>
<h2 id="t_6340cd9c0100rabk" class="titName SG_txta"><a href="http://blog.sina.com.cn/s/blog_6340cd9c0100rabk.html">QT构造函数中*parent</a></h2>
<p><a href="http://blog.sina.com.cn/s/blog_6340cd9c0100rabk.html"><span>?</span></a></p>
<p>?</p>
<p>?</p>
<p>?</p>
<p>?</p>
 
分享到:
评论

相关推荐

    QT4.7详细解说QT4.7详细解说

    QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解QT4.7详解

    qt4.7的api

    qt4.7的api文档,html格式,解压后直接查看。含有基本的函数、模块、命名空间信息。

    C++ 默认构造函数

    C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数C++ 默认构造函数

    qt 4.7 商业版 Commercial 种子 下载

    qt 4.7 商业版 Commercial 种子 下载 qt 4.7 商业版 Commercial 种子 下载 qt 4.7 商业版 Commercial 种子 下载

    qt4.7 例子源码

    qt4.7 例子源码,各种风格的窗口显示

    QT4.7安装配置详细步骤及其错误分析

    QT4.7安装配置详细步骤及其错误分析 在tiny6410验证过

    qt4.7-linux开发板的lib

    用arm-none-liunx-gnueabi交叉编译工具编译qt4.7的源码产生的lib,安装到开发板,配置好环境变量即可在开发板上运行qt4.7的程序

    Qt 4.7 opengl 模块文档

    Qt 4.7 opengl 模块文档 Qt 4.7 opengl 模块文档 Qt 4.7 opengl 模块文档 Qt 4.7 opengl 模块文档

    TQ6410_QT4.7移植手册.pdf

    QT4.7在S3C6410开发板上的移植

    QT4.7下的扫雷游戏

    QT4.7环境编译下的扫雷游戏,完整代码和说明文档。自己测试过,可以使用。

    Qt4.7通过WinApi获取串口号

    Qt4.7通过WinApi获取串口号Qt4.7通过WinApi获取串口号Qt4.7通过WinApi获取串口号Qt4.7通过WinApi获取串口号Qt4.7通过WinApi获取串口号

    qt4.7-sdk-win-opensource-2010.05.part4.rar

    qt一般开源的,需要在平台...)编译好的windows平台下安装版本QT4.7,xp和win7(32位)(其余系统没有测试)都可以学习用。有QT自己的IDE(集成开发环境),不用嵌入vc中。 分割为6个部分上传。解压为exe下载请注意防毒

    qt4.7-sdk-win-opensource-2010.05.part3.rar

    qt一般开源的,需要在平台...)编译好的windows平台下安装版本QT4.7,xp和win7(32位)(其余系统没有测试)都可以学习用。有QT自己的IDE(集成开发环境),不用嵌入vc中。 分割为6个部分上传。解压为exe下载请注意防毒

    qt-4.7库文件

    qt-4.7库文件 主要包括触摸lib 字体lib 以及QT4.7库文件

    Qt4.7 利用Painter drawPie绘制螺旋波形

    螺旋波形,近似正弦波,利用drawPie画出的,可调节周期实现拉长波形或缩短;可调节振幅实现波形幅度的大小。

    基于qt4.7图片浏览器

    基于qt4.7标准的图片浏览器

    qt4.7 写的涂鸦板 源代码

    qt涂鸦板 qt4.7 写的涂鸦板 qt4.7 写的涂鸦板

    QT4.7移植到ARM

    基于TQ6410的QT4.7移植,详细的介绍了移植到ARM开发板中的过程。

    编译好的Qt4.7

    编译好的Qt4.7 还需要一个脚本配置一下就可以使用了,在tiny6410上验证过,脚本本人资源中有 交叉编译链4.5.1

    Qt4.7官方白皮书

    Qt4.7官方白皮书,从官网慢慢提取的。有其他需要的同学也可以去qt-project.org自己提取,不过异常慢啊~

Global site tag (gtag.js) - Google Analytics