【问题标题】:Qt C++ grammar?Qt C++ 语法?
【发布时间】:2009-03-29 13:01:32
【问题描述】:

我正在学习Qt,发现了这个:

Widget::Widget(QWidget *parent)
    : QWidget(parent), ui(new Ui::WidgetClass)
{
    ui->setupUi(this);
}

什么是“:QWidget(parent), ui(new Ui::WidgetClass)”是什么意思?

我怎样才能得到关于这个的 C++ 文档?

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    这对于 Qt 来说并没有什么特别之处,只是 C++ 的一部分。

    : QWidget(parent) 只是调用基础构造函数。

    ui(new Ui::WidgetClass) 只是一个正在初始化的成员。

    例子:

    class B
    {
    public:
      B(int x)
      {
        myx = x;
      }
    
      int myx;
    };
    
    class D : public B
    {
    public:
       D() 
       : B(4), p(new char[1024])
       {
       }
    
       ~D()
       {
         delete[] p;
       }
    
       char *p;
    };
    

    【讨论】:

    【解决方案2】:

    该构造称为初始化列表,用于初始化类构造函数中的基类和/或成员变量。

    如果您想了解有关它们的更多信息(这是 C++ 中的一个基本概念),请参阅例如 this documentask 'the' google

    【讨论】:

      猜你喜欢
      • 2012-03-22
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2017-11-06
      • 2013-05-31
      • 2013-09-27
      • 1970-01-01
      相关资源
      最近更新 更多