1、這兩個都是用來修飾類和方法的
2、都不能用private修飾
3、virtual 虛擬 abstract 抽象
4、virtual修飾的方法必須有主體
而且子類可以不去實現這個方法
如果子類不重寫這個虛函式 在子類裡呼叫這個方法呼叫的是父類裡的
5、abstract修飾的方法不能有主體
子類必須重寫這個方法
抽象方法必須包含在抽象類裡
虛函式的應用:
a a=new b(); //a是父類,b 是子類
a.fuc();
if(b裡 重寫了a裡 的虛函式 )
else
抽象函式的應用:
因為子類必須重寫抽象函式 ,而且父類抽象函式不能有主體
a a=new b();
所以 a.fuc() 只能呼叫的是b裡的函式
更新中 未完成。。。
C 中Abstract和Virtual使用
1.abstract 抽象類 應該算是介面和類的中間型別 2.abstract使用時被子類繼承 3.abstract無法例項化 4.abstract使用位置應該是 架構的最底層,用來實現一些公用方法 5.abstract類中可以有非abstract修飾的方法和屬性 6.繼承abstract類的子類一...
C 中virtual和abstract的區別
c 的virtual abstract經常讓人混淆,這兩個限定詞都是為了讓子類進行重新定義,覆蓋父類的定義。但是用法上差別很大。a virtual修飾的方法必須有方法實現 哪怕只有一對大括號 abstract修飾的方法不能有實現。b virtual可以被子類重寫,abstract必須被子類重寫 c ...
C 中virtual和abstract的區別
在學習過程中用到此知識點,採集於網路,整理一下,再共享網路。virtual和abstract都是用來修飾父類的,通過覆蓋父類的定義,讓子類重新定義。它們有乙個共同點 如果用來修飾方法,前面必須新增public,要不然就會出現編譯錯誤 虛擬方法或抽象方法是不能私有的。畢竟加上virtual或abstr...