C過載事件的問題

時間 2022-07-29 00:45:06

1樓:

1.base.onclosing(e);這裡是什麼意思啊?有什麼作用?

當窗體關閉的時候 系統有會傳送關閉訊息給窗體,然後窗體觸發onclosing事件,當你過載這個事件後,觸發訊息會傳送到這個過載事件裡面然後再去關閉窗體。打個比方 要關閉這個窗體需要2個步驟 a->b 2個步驟執行玩了以後才真正關閉了窗體。但是當你過載這這個事件後變成了a->c->b,c相當於你寫的過載事件,而base.

onclosing(e);的作用是把訊息發往b,假如你把base.onclosing(e)幹掉,那麼這個acb流程會走到c而不會繼續往下走,也就是窗體不會關閉,大概意思就是在c裡面呼叫b,讓關閉訊息走完。base.

onclosing(e);的大概意思就是繼續按原來的訊息規則繼續下一步處理。你的任何操作都是作業系統通過訊息的方式發給應用程式的。所以人截留這個訊息來處理一些過濾資訊,比如遮蔽某些按鍵。

2.winform已經有formclosing事件了,為什麼還要過載,過載有什麼好處?

這個就是自己寫程式的人處理了。可能他想在這裡裡面加一些過濾邏輯吧!

2樓:比北極熊還熊

1.base.onclosing(e);這一句是執行父類的事件;它會處理一些在onclosing事件中必須處理的東西.

2.過載的好處在於在過載中你可以處理自己的事情,比如加個彈出視窗"你確認要關閉嗎?".

3樓:匿名使用者

1.base.onclosing(e)是繼承的winform關閉事件。

2.過載:打個比方,系統給你提供了一個option,但你覺得不合適,你就直接新增另外一個option,方便你的具體需求,相當於系統給你開放了一個可程式設計介面,讓你過載系統事件,方便做個性化設定。

c 建構函式過載,C 建構函式過載的問題?

應該是object 1 10 呼叫 sum int object 2 10.5 呼叫 sum double 因為c 在呼叫函式是會自動識別資料型別,如果你把10改為10.0,也是呼叫sum double 了 主要看你的引數是什麼型別的,如果是整型就呼叫sum int 浮點型的呼叫sum double...

C 函式過載問題

void c double void c double void c double void c const double void c const double void c const double void c double const void c const double void c d...

關於C 子類建構函式的過載問題

因為你的基類student裡定義了建構函式,基類的預設建構函式不能呼叫。繼承類裡也就不可能使用預設建構函式了。把你基類裡的建構函式改為有預設值的建構函式,就能解決你的問題。如下 include stdafx.h include include using namespace std class st...