最近在準備校招,做了一些筆試題,發現以前的基礎知識確實有一些遺失,好腦袋不如爛筆頭,所以決定隨筆記下一些基礎知識,以備後用。今天就先寫一寫虛函式與純虛函式。
虛函式是類中被virtual關鍵字修飾的成員函式,為了實現類的多型性,即將介面與實現分離,需要注意的是虛函式必須實現,如果不實現,編譯器會報錯,還有一點需要注意的是編譯器的報錯是在鏈結時,而不是在編譯時。
virtual returntype functionname(parameter);
很多時候,我們不需要基類生成物件,這時候可以將虛函式定義為純虛函式,編譯器要求在派生類中必須予以重寫以實現多型性。含有純虛函式的類稱為抽象類,它不能生成物件。
virtual returntype functionname(parameter)=0;
含有純虛函式的基類只能被繼承,不能被例項化,而且該虛函式在派生類中必須實現。 C 虛函式與純虛函式
純虛函式定義如下 virtual functionname parameter 0 類的乙個成員定位虛函式的實際意義在於讓c 知道該函式並無意義,它的作用只是為了讓派生類進行函式過載保留位置。純虛函式的定義方法就是在類的虛函式後面加上 0 標記,類中一旦出現了純虛函式的定義,那麼此類為抽象類。例項 ...
C 虛函式與純虛函式
今天講講c 中,虛函式與純虛函式的用法和區別。而純虛函式是一種特殊的函式,它的作用是在基類中不給出有意義的實現,而把說明成純虛函式,它的實現留給該基類的派生類去做。包含純虛函式的類就是抽象類,抽象類不能被例項化,但是可以定義指向抽象類資料的指標變數,當派生類稱為具體類後,就可以用這種指標指向派生類的...
C 虛函式與純虛函式
首先 強調乙個概念 定義乙個函式為虛函式,不代表函式為不被實現的函式。定義他為虛函式是為了允許用基類的指標來呼叫子類的這個函式。定義乙個函式為純虛函式,才代表函式沒有被實現。定義純虛函式是為了實現乙個介面,起到乙個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。1 簡介 假設我們有下面的類層...