今天問了我大學同學乙個問題:
templateclass base
;class extend:public base;
上面**中的 handle_input 能否表現出多型性?
我廣州的c++的同事直接了當的說能;我大學的幾個.net同學,對此模稜兩可,說「應該能」。 想起在廣州工作的時候,主程說過的話:面對**的時候,不能有任何的猜測。在此感激一下之前的主程。
我們知道,類的多型性是在動態編譯的時候,而template在編譯的時候就確定了型別,所以多型性的表現滯後於template,上面的**絕對可以表現出多型性。但是我們仍然要驗證一下!
templateclass base
;class sub:public base
};void print(base&base)
int main(int argc,char** argv)
程式通過編譯。ok!
更前面一段時間 我問過我同學乙個這樣的問題:
class basetype
;class subbasetype : public basetype
;class base
class sub:public base
上面的handle_input能否表現出多型性,很多.net的同學說能,c++的乙個同學也說能;還提出了乙個黎克特制代換---在設計**架構的話,原則上是 父類能做的事情可以無壓力的替換成子類。
課本上面的解釋是這引數必須相同,顯然繼承關係不滿足這個條件,但是這仍然讓人好奇,但是在編輯器上面是無法通過的。
C 之DateTime日期類小結
一,最近在工作上經常遇到關於日期型別的轉換,比如 知道秒數,如根據秒數來獲得對應的日期,或知道整分的情況,如何根據整分來進行轉換 知道日期,如何根據日期轉換為整秒或整分等等 首先我們來處理第乙個問題,知道秒數的情況下,換算對應的日期 以1970.1.1為日期起始點 datetime dt datet...
複習C 小結(四) 類
我們知道,this指標的預設型別是指向類型別非常常量版本的指標常量。這樣就會帶來乙個問題,我們不能夠把this指標繫結當乙個常量物件上 因為底層const等級不同 比如下面這個例子。class solution int main 此時,我們可以用const關鍵字將getisbn 宣告為常量成員函式,...
c 類設計思考
1 是否需要建構函式 2 資料成員函式是否需要是私有,對外隱藏 3 是否需要乙個無參建構函式 class point point going 10 4 建構函式是否需要初始化所有成員 5 需要析構函式嗎 成員是new的物件時 6 需要乙個虛析夠函式嗎。乙個父類指標指向乙個子類物件,delete該指標...