※ 引述《checkIO (chec)》之铭言:
: 想请问一下
: explicit ContainerWidget(QWidget * parent = {}) : QWidget{ parent } {}
: 这个写法如果要改成 ContainerWidget.h
: ContainerWidget.cpp要怎样处理呢
: :QWidget{ parent } 会出现红色的错误
: 不知道这行代表什么意思?
这问题和前面的有点无关, 分开回
红色错误部分用到了 C++11 的 list initialization
http://en.cppreference.com/w/cpp/language/list_initialization
出现红线代表你用的 compiler 大概没有支援 C++11
在 constructor 的状况可以简单改成这样 QWidget(parent)
然后要拆成 header + source 就是要把 implementation 分开
// header
class ContainerWidget : public QWidget
{
// 其他略
explicit ContainerWidget(QWidget *parent = {});
};
// source
// 其他略
ContainerWidget::ContainerWidget(QWidget *parent) : QWidget(parent)
{
// 略
}
这个是很基本的 C++ 继承类别语法
应该是在学 Qt 之前应该具备的基本知识了
先去找本书学点基础 C++ 吧