1. 程式人生 > >影象處理面試

影象處理面試

解:我們都知道,c++為了與c語言能夠相容,c++做出了很大的犧牲,包括保留了struct關鍵字,還有編譯期間添加了好多隱藏的程式碼。但是虛擬函式卻不能與c語言實現相容。而且有了虛擬函式,類的資料物件佈局都發生了巨大的變化。這些暫時不說,還是回到上面的問題吧!我們都知道函式可以分為三種,一種是類的成員函式(member function),又可分為非靜態成員函式(non-static member function),以及靜態成員函式(static member function),而還有一種非類的成員函式(non-member function)。在類的非靜態成員函式中又可以分為普通的函式以及虛擬函式。根據這種函式的分類,就知道了函式絕對是不能同時為虛擬函式以及靜態成員函式的。對虛擬函式還可以繼續細分,一是純虛擬函式,一種就是普通的虛擬函式。純虛擬函式必須在普通的虛擬函式基礎上加上“=0”,同時普通的虛擬函式必須要有函式的實現。而純虛擬函式預設情況是隻有定義,而無需實現的,即只是定義一個介面(當然也可以實現,這時實現認為是預設的一種狀態顯示),同時包含了純虛擬函式的類表明該類時一個抽象類,不能定義該類的物件,也就是說該類被定義成基類,是要被繼承的,通過繼承類來完成基類物件的生成。最後,強調一下,虛擬函式必須有一個關鍵字來修飾:virtual ,同時不能有static修飾。