C++学习小记录
1)switch括號中的表達式只能是整型、字符型或枚舉型,case :中的表達式類型必須與之相對應;在帶有break的情況下,各個case(包括default)出現(xiàn)的次序并不影響執(zhí)行結(jié)果;
2)int 32位;float 32位;double 64位;
3)頭文件中的string與string.h是不同的資源,string是指string字符串類,string.h是諸多字符串空間操作的庫函數(shù)集合;
4)cin遇到空格或是回車符就終止輸入,因此在輸入字符串時一般不用cin,而是用getline(cin/in, s)。若是要將輸入的一行字符串以空格為間隔符分開,則引用istringstream創(chuàng)建對象。
5)程序運行時的進程空間:棧區(qū),堆區(qū),全局數(shù)據(jù)區(qū),代碼區(qū)。 棧區(qū):存放函數(shù)數(shù)據(jù)區(qū)(即局部數(shù)據(jù)區(qū)),它動態(tài)地反映了程序運行中函數(shù)狀態(tài),其運動軌跡正好用來觀察函數(shù)的調(diào)用與返回,從而研究其函數(shù)機制;堆區(qū):存放動態(tài)內(nèi)存,供程序隨機申請使用;全局數(shù)據(jù)區(qū):存放全局數(shù)據(jù)、常量、文字量、靜態(tài)全局量和靜態(tài)局部量;代碼區(qū):存放程序的執(zhí)行代碼。
6)函數(shù)重載:在同一作用域內(nèi),可以有一組具有相同函數(shù)名,不同參數(shù)列表的函數(shù),這組函數(shù)被稱為重載函數(shù)。函數(shù)重載對于普通函數(shù)和類的成員函數(shù)同樣適用。(類的成員函數(shù)的重載必須是在同一個類中)
? ? 函數(shù)覆蓋:覆蓋是指派生類中存在重新定義的函數(shù),其函數(shù)名、參數(shù)列、返回值類型必須同父類中的相對應被覆蓋的函數(shù)嚴格一致,覆蓋函數(shù)和被覆蓋函數(shù)只有函數(shù)體不同。當派生類對象調(diào)用子類中該同名函數(shù)時會自動調(diào)用子類中的覆蓋版本,而不是父類中的被覆蓋函數(shù)版本,這種機制就叫做覆蓋
? ? 函數(shù)隱藏:是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù)。
成員函數(shù)被重載的特征:
(1)相同的范圍(在同一個類中);
(2)函數(shù)名字相同;
(3)參數(shù)不同;
(4)virtual 關(guān)鍵字可有可無。
覆蓋:派生類函數(shù)覆蓋基類函數(shù),特征是:
(1)不同的范圍(分別位于派生類與基類);
(2)函數(shù)名字相同;
(3)參數(shù)相同;
(4)基類函數(shù)必須有virtual 關(guān)鍵字。
函數(shù)隱藏的特征
(1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時,不論有無virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。
(2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual關(guān)鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)。
*函數(shù)的隱藏和覆蓋在調(diào)用時的處理方式是不同的,具體的可通過樣例體會
?
轉(zhuǎn)載于:https://www.cnblogs.com/LittleRea/p/6885479.html
總結(jié)
- 上一篇: 标准C程序设计七---53
- 下一篇: c++ vector注意事项