一、虛函式與純虛函式的區別。
(1) 虛函式:用virtual進行修飾,比如:
virtual void foo()
{ cout<<"a::foo() is called"《定義虛函式是為了允許基類的指標可以進行呼叫。
定義了虛函式不代表此函式不能被實現。
(2)、純虛函式:是在基類的定義中進行宣告,它在基類中沒有定義。但是要任何派生類都要宣告它的定義。
例如:virtual void foo()=0;
為什麼要引入純虛函式,因為在很多情況下,基類本身生成物件是不合理的,例如動物可以派生出獅子,老虎,孔雀等子類。
但是動物生成動物的物件就是不對的。為了防止這種情況的產生,則就引出了純虛函式。
而帶有純虛函式的類叫做抽象類,不能被例項化。
純虛函式的意義是:讓所有的類物件(主要是其派生類)都可以執行純虛函式的動作。
C 基礎知識回顧 反射(1)
反射 reflection 是一種允許使用者獲得型別資訊的c 特性。術語 反射 源自於它的工作方式 type物件對映它所代表的底層物件。對type物件進行查詢可以獲得 反射 與型別相關的資訊。反 射是一種 功能強大的機制,它允許學習和使用只在執行時才能知道的型別功能。這些是官方定義,其實說白了,反射...
c語言基礎知識回顧1
1.1 字元常量是由單引號括起來的乙個字元,字元兩側的單引號是必不可少的。2 字串常量是由一對雙引號括起來的乙個字串行,字串常量中不能直接包含單引號雙引號和單個反斜槓 若使用需使用轉義字元。常用的轉義字元 n 換行,將游標從當前位置移動到下一行開頭。r 回車,將游標從當前位置移到本行開頭。0 空字元...
c基礎回顧
發現乙個很好的c學習 做了一些練習 include include define arrlen arr sizeof arr sizeof arr 0 f int a ff int a fff char ch char ffff char ch fffff int intarr intarr 2 a...