亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比如說我在頭文件里定義了一個類,請問下面的內容是什么意思?

比如說我在頭文件里定義了一個類,請問下面的內容是什么意思?

皈依舞 2022-11-04 22:18:56
class PaintWidget:public QWidget{public:PaintWidget(QWidget*parent=0)}然后在cpp中寫PaintWidget::PaintWidget(QWidget*parent):QWidget(parent){}請問 前面的*parent=0 和cpp中的(QWidget*parent):QWidget(parent)是什么意思
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

意思是說,重定義父對象。
如何重定義呢?看parent參數。
當PaintWidget放到某個窗口上的時候,該PaintWidget的父對象就被重定義為該窗口。
但是,由于PaintWidget本身繼承于QWidget,那么還需要對QWidget的父對象重定義。PaintWidget通過parent指針來告訴父類QWidget:“我的父對象是該窗口,請把你的父對象也置為那個窗口”。
就是這樣。
請注意區分父類和父對象的區別。

查看完整回答
反對 回復 2022-11-08
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

1.parent=0這句是默認參數列表,就是參數默認值的意思,只要在聲明時加上即可。
2.PaintWidget::PaintWidget(QWidget*parent):QWidget(parent)
冒號之前的是使用類作用域限定符引用的函數聲明原型,冒號之后的是初始化列表。QWidget(parent) 使用parent指針初始化父類實例的意思。因為派生類的初始化過程中第一步就是調用父類的構造函數初始化父類結構,QWidget(parent) 顯示調用了QWidget的一個構造函數。

查看完整回答
反對 回復 2022-11-08
  • 2 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號