QT问题中关于parent的一个问题

比如说我在头文件里定义了一个类classPaintWidget:publicQWidget{public:PaintWidget(QWidget*parent=0)}然后... 比如说我在头文件里定义了一个类
class PaintWidget:public QWidget
{
public:
PaintWidget(QWidget*parent=0)
}
然后在cpp中写
PaintWidget::PaintWidget(QWidget*parent):QWidget(parent)
{}请问 前面的*parent=0 和cpp中的(QWidget*parent):QWidget(parent)是什么意思
展开
 我来答
sunnyfulin
推荐于2017-11-25 · TA获得超过465个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:188万
展开全部
意思是说,重定义父对象。
如何重定义呢?看parent参数。
当PaintWidget放到某个窗口上的时候,该PaintWidget的父对象就被重定义为该窗口。
但是,由于PaintWidget本身继承于QWidget,那么还需要对QWidget的父对象重定义。PaintWidget通过parent指针来告诉父类QWidget:“我的父对象是该窗口,请把你的父对象也置为那个窗口”。
就是这样。。。
请注意区分父类和父对象的区别。
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
匿名用户
2013-03-11
展开全部
1.parent=0这句是默认参数列表,就是参数默认值的意思,只要在声明时加上即可。

2.PaintWidget::PaintWidget(QWidget*parent):QWidget(parent)
冒号之前的是使用类作用域限定符引用的函数声明原型,冒号之后的是初始化列表。QWidget(parent) 使用parent指针初始化父类实例的意思。因为派生类的初始化过程中第一步就是调用父类的构造函数初始化父类结构,QWidget(parent) 显示调用了QWidget的一个构造函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式