构造函数MyClass(QWidget*parent = 0)中(QWidget*parent = 0)的含义;

Str*_*ght 3 c++ qt constructor

只是Qt中常见结构化类的一部分:

class MyClass  :  public QWidget           
{

Q_OBJECT

 public:

   MyClass(QWidget *parent = 0);
.
.
.
}
Run Code Online (Sandbox Code Playgroud)

看构造函数我不明白参数的含义(QWidget *parent = 0)?这是什么意思?

问候

wkl*_*wkl 8

MyClass(QWidget *parent = 0)定义一个可以采用的构造函数QWidget*.

您可能会对该= 0部分感到困惑,这是默认参数的 C++语法.默认参数允许您使用该函数,而无需指定该特定参数.在这种情况下,您可以像这样调用此构造函数:

mc = MyClass();
Run Code Online (Sandbox Code Playgroud)

这相当于调用:

mc = MyClass(0); // or MyClass(NULL)
Run Code Online (Sandbox Code Playgroud)

这意味着MyClass对象将没有父对象QWidget,因为= 0父对象是空指针.