[參考書(shū)籍] C++語(yǔ)言程序設(shè)計(jì)教程 作者:宋斌 曾春平 朱小谷
const定義常量和#define定義常量的區(qū)別 1、const常量有數(shù)據(jù)類(lèi)型,而宏常量沒(méi)有數(shù)據(jù)類(lèi)型 2、有些集成化的調(diào)試工具可以對(duì)const常量進(jìn)行調(diào)試,但不能對(duì)宏常量進(jìn)行調(diào)試。 強(qiáng)烈建議在C++程序中使用const常量而不使用宏常量。 Ø 存儲(chǔ)類(lèi) 1、auto(自動(dòng)的) auto變量是用堆棧方式占用內(nèi)存空間的,擔(dān)當(dāng)程序執(zhí)行到變量所屬段外時(shí),內(nèi)存立即回收。 2、register(寄存的) 聲明register變量,它告訴編譯器,如果可能則將此變量保存在寄存器中,可以加快程序的速度。 3、static(靜態(tài)的) 在C++中用固定的地址來(lái)保存靜態(tài)變量。只要程序在運(yùn)行,靜態(tài)變量就不會(huì)隨著運(yùn)行段的結(jié)束而消失。定義靜態(tài)變量必須進(jìn)行初始化。 4、extern(外部的) 外部變量的作用域是程序級(jí)的。即當(dāng)一個(gè)變量被定義為外部變量后,該程序中其他所有的函數(shù)或程序段都可以引用這個(gè)變量。由于它具有可同時(shí)被其他函數(shù)引用的特性,而且在程序運(yùn)行期間永不消失,因此可以用來(lái)在函數(shù)之間傳遞數(shù)據(jù)。 Ø typedef 用來(lái)自定義數(shù)據(jù)類(lèi)型。 Ø 類(lèi) 類(lèi)是一種復(fù)雜的數(shù)據(jù)類(lèi)型,它是將不同類(lèi)型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。 在類(lèi)體中不允許對(duì)所定義的數(shù)據(jù)成員進(jìn)行初始化。 Ø 對(duì)象 類(lèi)的實(shí)例 Ø 構(gòu)造函數(shù) 構(gòu)造函數(shù)是一種特殊的類(lèi)成員函數(shù),它的作用是對(duì)類(lèi)的數(shù)據(jù)成員進(jìn)行初始化和分配內(nèi)存。 特點(diǎn): 1、構(gòu)造函數(shù)可以重載。 2、在程序中不能顯示的調(diào)用構(gòu)造函數(shù),當(dāng)創(chuàng)建對(duì)象時(shí)構(gòu)造函數(shù)將自動(dòng)被調(diào)用。 3、構(gòu)造函數(shù)是成員函數(shù),函數(shù)體可以寫(xiě)在類(lèi)體內(nèi),也可以寫(xiě)在類(lèi)體外。 4、構(gòu)造函數(shù)是一個(gè)特殊的函數(shù),函數(shù)名與類(lèi)名相同,該函數(shù)不指定類(lèi)型說(shuō)明,它有隱含的返回值,該值由系統(tǒng)內(nèi)部使用。 5、運(yùn)算符new用于建立在生產(chǎn)期可控的對(duì)象,new返回指向所創(chuàng)建的對(duì)象的指針。new運(yùn)算符與構(gòu)造函數(shù)一同起作用,當(dāng)用new運(yùn)算符動(dòng)態(tài)創(chuàng)建對(duì)象時(shí),構(gòu)造函數(shù)將被自動(dòng)調(diào)用。 Ø 拷貝初始化構(gòu)造函數(shù) 拷貝初始化構(gòu)造函數(shù)是一種特殊的成員函數(shù),其功能是用一個(gè)已知的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類(lèi)的對(duì)象。 特點(diǎn): 1、拷貝初始化構(gòu)造函數(shù)名和類(lèi)名相同,因?yàn)樗彩且环N構(gòu)造函數(shù)。 2、拷貝初始化構(gòu)造函數(shù)只有一個(gè)參數(shù),并且是對(duì)某個(gè)對(duì)象的引用。 3、每個(gè)類(lèi)都必須有一個(gè)拷貝初始化構(gòu)造函數(shù),如果類(lèi)中沒(méi)有說(shuō)明拷貝初始化構(gòu)造函數(shù),則編譯器將自動(dòng)生成一個(gè)缺省的拷貝初始化構(gòu)造函數(shù),并作為該類(lèi)的公有成員。 Ø 析構(gòu)函數(shù) 析構(gòu)函數(shù)也是一種特殊的類(lèi)成員函數(shù),它的作用是釋放在構(gòu)造函數(shù)中分配的內(nèi)存空間。 特點(diǎn): 1、在一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù),且不能重載。 2、析構(gòu)函數(shù)可以被顯示的聲明,也可以由系統(tǒng)自動(dòng)調(diào)用。 3、析構(gòu)函數(shù)是成員函數(shù),函數(shù)體可以寫(xiě)在類(lèi)體內(nèi),也可以寫(xiě)在類(lèi)體外。 4、當(dāng)一個(gè)對(duì)象是用new運(yùn)算符動(dòng)態(tài)創(chuàng)建時(shí)的,在使用delete運(yùn)算符釋放它時(shí),delete將自動(dòng)調(diào)用析構(gòu)函數(shù)。 Ø 內(nèi)聯(lián)函數(shù) C++語(yǔ)言之所以引入內(nèi)聯(lián)函數(shù),主要是為了解決程序中函數(shù)調(diào)用的效率問(wèn)題。 內(nèi)聯(lián)函數(shù)和宏的比較: 1、對(duì)內(nèi)聯(lián)函數(shù)的調(diào)用是由編譯器進(jìn)行處理的,而對(duì)宏的調(diào)用是由預(yù)處理進(jìn)行擴(kuò)展的 2、內(nèi)聯(lián)函數(shù)調(diào)用時(shí),編譯器要檢查傳遞過(guò)來(lái)的參數(shù)類(lèi)型,確保不傳入非法類(lèi)型 3、如果傳入函數(shù)是表達(dá)式,則此表達(dá)式值僅僅一次 4、宏的優(yōu)點(diǎn)是你傳給宏什么數(shù)據(jù),它就返回同一個(gè)類(lèi)型 Ø 靜態(tài)成員 靜態(tài)成員的提出是為了解決數(shù)據(jù)共享的問(wèn)題。 1、靜態(tài)數(shù)據(jù)成員 靜態(tài)數(shù)據(jù)成員的初始化需要注意以下幾點(diǎn): l 靜態(tài)數(shù)據(jù)成員的初始化在類(lèi)體外進(jìn)行,前面不加static,以免與一般的靜態(tài)變量或?qū)ο蠡煜?/span> l 初始化時(shí)不加該成員的訪(fǎng)問(wèn)權(quán)限控制符。 l 初始化時(shí)使用作用域運(yùn)算符來(lái)標(biāo)明它所屬類(lèi),所以它屬于類(lèi)的成員,不屬于對(duì)象的成員。 2、靜態(tài)成員函數(shù) 公有的靜態(tài)成員函數(shù)的一個(gè)重要的作用就是實(shí)現(xiàn)訪(fǎng)問(wèn)類(lèi)的私有靜態(tài)數(shù)據(jù)成員。 定義靜態(tài)成員函數(shù)時(shí)注意以下幾點(diǎn): l 由于關(guān)鍵字static不是函數(shù)類(lèi)型的一部分,所以在類(lèi)定義之外定義靜態(tài)成員函數(shù)時(shí)不能用static l 靜態(tài)成員函數(shù)不能被說(shuō)明為虛函數(shù) l 一個(gè)函數(shù)不能同時(shí)定義靜態(tài)成員函數(shù)和非靜態(tài)成員函數(shù) Ø 友元函數(shù)和友元類(lèi) 1、友元函數(shù) 使用友元函數(shù)的目的是為了提高程序的效率。友元函數(shù)可以直接訪(fǎng)問(wèn)對(duì)象的私有成員,因此節(jié)省了調(diào)用類(lèi)的成員函數(shù)的時(shí)間開(kāi)銷(xiāo)。 友元函數(shù)的另一個(gè)優(yōu)點(diǎn)是使程序員不必考慮好類(lèi)的各種使用情況才能設(shè)計(jì)類(lèi),而是可以根據(jù)需要使用友元函數(shù)增加類(lèi)的接口。 友元函數(shù)的缺點(diǎn)是,由于它可以訪(fǎng)問(wèn)私有成員,因而破壞的類(lèi)的封裝性和隱藏性,導(dǎo)致程序可維護(hù)性差。 因此,建議應(yīng)當(dāng)盡量不使用或少用友元函數(shù)。 使用友元函數(shù)時(shí)注意以下幾點(diǎn): l 在聲明友元函數(shù)時(shí),可以聲明為公有的,也可以聲明為私有的 l 類(lèi)的友元函數(shù)不是本身的成員函數(shù),因此它沒(méi)有繼承性 l 友元函數(shù)不能使用存儲(chǔ)類(lèi)修飾符來(lái)限定 2、友元類(lèi) 友元類(lèi)和友元函數(shù)類(lèi)似。當(dāng)一個(gè)類(lèi)(類(lèi)B)作為另一個(gè)類(lèi)(類(lèi)A)的友元時(shí),這就意味著這個(gè)類(lèi)(類(lèi)B)的所有成員函數(shù)都是另一個(gè)類(lèi)(類(lèi)A)的友元函數(shù)。 Ø 對(duì)象指針 對(duì)象指針?lè)譃閮深?lèi): l 指向類(lèi)類(lèi)型對(duì)象的指針 l 指向類(lèi)成員的指針 Ø 繼承與派生 繼承是一種客觀世界中普遍存在的機(jī)制,它可以使后輩從前輩那里得到屬性和行為特征,而繼承的過(guò)程就叫做派生。
1、公有繼承方式 l 基類(lèi)成員對(duì)其對(duì)象(基類(lèi)對(duì)象)的可見(jiàn)性:公有成員可見(jiàn),私有和保護(hù)成員不可見(jiàn)。 l 基類(lèi)成員對(duì)派生類(lèi)的可見(jiàn)性:公有成員和保護(hù)成員可見(jiàn),而私有成員不可見(jiàn)。 l 基類(lèi)成員對(duì)派生類(lèi)對(duì)象的可見(jiàn)性:公有成員可見(jiàn),私有和保護(hù)成員不可見(jiàn)。 2、私有繼承方式 l 基類(lèi)成員對(duì)其對(duì)象(基類(lèi)對(duì)象)的可見(jiàn)性:公有成員可見(jiàn),其他成員不可見(jiàn)。 l 基類(lèi)成員對(duì)派生類(lèi)的可見(jiàn)性:公有成員和保護(hù)成員是可見(jiàn)的,而私有成員是不可見(jiàn)的。 l 基類(lèi)成員對(duì)派生類(lèi)對(duì)象的可見(jiàn)性:所有成員都是不可見(jiàn)的。 3、保護(hù)繼承方式 l 基類(lèi)成員對(duì)其對(duì)象(基類(lèi)對(duì)象)的可見(jiàn)性:公有成員可見(jiàn),其他成員不可見(jiàn)。 l 基類(lèi)成員對(duì)派生類(lèi)的可見(jiàn)性:公有成員和保護(hù)成員是可見(jiàn)的,而私有成員是不可見(jiàn)的。 l 基類(lèi)成員對(duì)派生類(lèi)對(duì)象的可見(jiàn)性:所有成員都是不可見(jiàn)的。 4、繼承情況 l 在公有繼承的情況下,派生類(lèi)的對(duì)象可以直接訪(fǎng)問(wèn)基類(lèi)的共有成員 l 在私有繼承的情況下,基類(lèi)的公有和保護(hù)成員都將成為派生類(lèi)的私有成員 l 在私有繼承的情況下,基類(lèi)的保護(hù)成員將成為派生類(lèi)的私有成員,而無(wú)法再向下繼承 l 基類(lèi)的保護(hù)成員在派生類(lèi)中仍然是保護(hù)成員 l 基類(lèi)的保護(hù)成員在公有派生的情況下可以被繼承到派生類(lèi)的派生類(lèi) l 基類(lèi)的保護(hù)成員對(duì)基類(lèi)而言相當(dāng)于私有成員,但可以由派生類(lèi)訪(fǎng)問(wèn) l 在保護(hù)繼承的情況下,基類(lèi)的公有成員和保護(hù)成員都成為派生類(lèi)的保護(hù)成員 5、構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行 派生類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行是很重要的問(wèn)題 當(dāng)創(chuàng)建派生類(lèi)對(duì)象時(shí),首先要調(diào)用基類(lèi)的構(gòu)造函數(shù),接下來(lái)調(diào)用派生類(lèi)字節(jié)的構(gòu)造函數(shù);而當(dāng)對(duì)象銷(xiāo)毀時(shí),析構(gòu)函數(shù)的調(diào)用次序正好相反,首先調(diào)用派生類(lèi)的析構(gòu)函數(shù),然后再調(diào)用基類(lèi)的析構(gòu)函數(shù)。 6、多繼承的二義性 一般來(lái)說(shuō),在派生類(lèi)中對(duì)基類(lèi)成員的訪(fǎng)問(wèn)應(yīng)該是唯一的。但是,由于多繼承的情況下,可能造成對(duì)基類(lèi)某個(gè)成員的訪(fǎng)問(wèn)出現(xiàn)不唯一的情況。這就是對(duì)基類(lèi)成員訪(fǎng)問(wèn)的二義性。 l 通過(guò)作用域限定符 l 使用虛基類(lèi) 虛基類(lèi)的說(shuō)明是用在定義派生類(lèi)時(shí),寫(xiě)在派生類(lèi)名的后面。 Ø 函數(shù)和運(yùn)算符重載 1、函數(shù)重載 函數(shù)重載是指同一個(gè)函數(shù)名可以對(duì)應(yīng)著多個(gè)函數(shù)的實(shí)現(xiàn)。函數(shù)重載時(shí)要求函數(shù)的參數(shù)或者至少有一個(gè)類(lèi)型不同,或者個(gè)數(shù)不同。而對(duì)于函數(shù)的返回值類(lèi)型沒(méi)有要求,可以相同,也可以不同。 l 重載與覆蓋的區(qū)別 重載:相同的作用域,函數(shù)名相同,函數(shù)的參數(shù)不同,virtual關(guān)鍵字可有可無(wú)。 覆蓋:不同的作用域,函數(shù)名相同,函數(shù)的參數(shù)相同,基類(lèi)中的函數(shù)必須有virtual關(guān)鍵字。 l 隱藏 如果派生類(lèi)的函數(shù)與基類(lèi)的函數(shù)同名,但是參數(shù)不同。此時(shí),不論有無(wú)virtual關(guān)鍵字,基類(lèi)的函數(shù)將被隱藏。 如果派生類(lèi)的函數(shù)與基類(lèi)的函數(shù)同名,并且參數(shù)也相同,但是基類(lèi)函數(shù)沒(méi)有virtual關(guān)鍵字。此時(shí),基類(lèi)的函數(shù)被隱藏。 2、運(yùn)算符重載 運(yùn)算符重載是指同一個(gè)操作符可以實(shí)現(xiàn)不同的功能,它與函數(shù)重載的概念相似。 l 重載算術(shù)運(yùn)算符 l 重載為類(lèi)的友元函數(shù) 聲明重載為類(lèi)的友元函數(shù)目的指在訪(fǎng)問(wèn)類(lèi)的私有數(shù)據(jù)成員。 ² 在C++語(yǔ)言中,幾乎所有的運(yùn)算符都可以重載,不允許重載的運(yùn)算符是:. :: .* ? ² 運(yùn)算符重載不會(huì)改變?cè)瓉?lái)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 ² 運(yùn)算符重載實(shí)際是一個(gè)函數(shù),所以運(yùn)算符重載實(shí)際上是函數(shù)的重載 ² 運(yùn)算符重載要堅(jiān)持:不能改變運(yùn)算符原有的優(yōu)先級(jí);不能改變運(yùn)算符的操作個(gè)數(shù);不能改變運(yùn)算符原有的結(jié)合性;不能改變運(yùn)算符原有的語(yǔ)法結(jié)構(gòu)。 ² 使用運(yùn)算符時(shí)要遵守的原則:重載的運(yùn)算符含義必須清楚;重載的運(yùn)算符不能有二義性。 ² 運(yùn)算符重載一般采用成員函數(shù)形式和友元函數(shù)形式的兩種方式。
Ø Volatile修飾符 作用:告訴編譯器無(wú)需對(duì)變量作任何的優(yōu)化,即無(wú)需將它放到一個(gè)寄存器中,并且該值可被外部改變。對(duì)于多線(xiàn)程引用的全局變量來(lái)說(shuō),volatile是一個(gè)非常重要的修飾符。 Ø _variant_t類(lèi)型 _variant_t是VARIANT的封裝類(lèi),其賦值可以使用槍支類(lèi)型轉(zhuǎn)換,其構(gòu)造函數(shù)會(huì)自動(dòng)處理這些數(shù)據(jù)類(lèi)型。使用時(shí)需加上#include <comdef.h> _variant_t類(lèi)型克服了普通數(shù)據(jù)類(lèi)型在32位機(jī)器上的顯示,普通數(shù)據(jù)類(lèi)型在32位上只能顯示10位,而_variant_t數(shù)據(jù)類(lèi)型能顯示100位。 Ø 回調(diào)函數(shù) 回調(diào)函數(shù)是應(yīng)用程序提供給Windows系統(tǒng)DLL或其它DLL調(diào)用的函數(shù),一般用于截獲消息、獲取系統(tǒng)消息或處理異步事件。應(yīng)用程序把回調(diào)函數(shù)的地址指針告訴DLL,而DLL在適當(dāng)?shù)臅r(shí)候會(huì)調(diào)用該函數(shù)。 回調(diào)函數(shù)必須遵守事先規(guī)定好的參數(shù)格式和傳遞方式,否則DLL一調(diào)用它就會(huì)引起程序或系統(tǒng)崩潰。通常情況下,回調(diào)函數(shù)采用標(biāo)準(zhǔn)WindowsAPI的調(diào)用方式,即__stdcall,當(dāng)然DLL編制者可以自己定義調(diào)用方式,但客戶(hù)程序也必須遵守相同的規(guī)定。 在__stdcall方式下,函數(shù)的參數(shù)按從右到左的順序壓入堆棧,除了明確指明是指針或應(yīng)用外,參數(shù)都按值傳遞,函數(shù)返回之前自己負(fù)責(zé)把參數(shù)從堆棧中彈出。 Ø 虛函數(shù)與多態(tài)性 1、基類(lèi)指針與派生類(lèi)指針 為什么將派生類(lèi)對(duì)象地址賦給基類(lèi)指針是合法的?因?yàn)?/span>C++的繼承采用了復(fù)制繼承的方式,派生類(lèi)的對(duì)象要為基類(lèi)的所有成員分配內(nèi)存空間(成員函數(shù)則分配函數(shù)指針空間),將它們存放在此空間,然后再存放派生類(lèi)新增的成員;將基類(lèi)對(duì)象的地址賦給派生指針需要強(qiáng)制類(lèi)型轉(zhuǎn)換,但它是不安全的,因?yàn)槌绦騿T很有可能使用這個(gè)指針來(lái)訪(fǎng)問(wèn)并沒(méi)有實(shí)際定義的成員。 2、虛函數(shù) 聲明虛函數(shù)時(shí)要使用關(guān)鍵字virtual。、 Virtual 類(lèi)型 函數(shù)名(參數(shù)列表); 派生類(lèi)中對(duì)基類(lèi)的虛函數(shù)進(jìn)行替換時(shí),要求派生類(lèi)中說(shuō)明的虛函數(shù)和基類(lèi)中的被替換的虛函數(shù)之間滿(mǎn)足如下條件: l 與基類(lèi)的虛函數(shù)有相同的參數(shù)個(gè)數(shù)。 l 其參數(shù)的類(lèi)型與基類(lèi)的虛函數(shù)的對(duì)應(yīng)參數(shù)類(lèi)型相同。 l 其返回值或者與基類(lèi)虛函數(shù)的相同,或者都返回指針或引用,并且派生類(lèi)虛函數(shù)所返回的指針或引用的類(lèi)型是基類(lèi)中被替換的虛函數(shù)所返回的指針或引用的基類(lèi)型的子類(lèi)型。 l 虛函數(shù)的引入極大地方便了代碼重用,它使得程序員避免了逐個(gè)詳細(xì)定義每一個(gè)類(lèi)。正是在引入虛函數(shù)的基礎(chǔ)上,類(lèi)的層次關(guān)系得以實(shí)現(xiàn)。 3、多態(tài)性
多態(tài)性是指同一個(gè)接口名稱(chēng)具有不同的功能,也就是說(shuō)當(dāng)相同的消息被不同類(lèi)型的對(duì)象接收時(shí)將導(dǎo)致完全不同的行為。
4、純虛函數(shù)
純虛函數(shù)是一種特殊的虛函數(shù)。 Virtual 類(lèi)型 函數(shù)名(參數(shù)列表)= 0; 5、抽象類(lèi) 如果一個(gè)類(lèi)包含有純虛函數(shù),則這個(gè)類(lèi)稱(chēng)為抽象類(lèi)。抽象類(lèi)是一種特殊類(lèi),它是為了抽象和設(shè)計(jì)的目的而建立的,它處于類(lèi)的繼承層次的較上層。 抽象類(lèi)的主要作用是將有關(guān)的類(lèi)組織在一個(gè)繼承層次結(jié)構(gòu)中,由它來(lái)為它們提供一個(gè)公共的根,相關(guān)的子類(lèi)都是從這個(gè)根派生出來(lái)的。 在定義抽象類(lèi)的派生類(lèi)時(shí),必須提供基類(lèi)純虛函數(shù)的具體實(shí)現(xiàn),或者仍然將純虛函數(shù)說(shuō)明為純虛函數(shù),否則編譯器將給出錯(cuò)誤信息。如果派生類(lèi)給出了純虛函數(shù)的集體實(shí)現(xiàn),則此派生類(lèi)是一個(gè)具體的類(lèi),可以創(chuàng)建此類(lèi)的對(duì)象;如果派生類(lèi)只是繼承了基類(lèi)的虛函數(shù),則此派生類(lèi)仍然是一個(gè)抽象類(lèi)。 Ø 模板 1、函數(shù)模板 l 函數(shù)模板:相當(dāng)于一個(gè)函數(shù)模子,可以用這個(gè)模子套印出許多功能相同、而參數(shù)類(lèi)型和返回類(lèi)型不同的函數(shù)。 l 聲明:template <class X> void myswap(X &a, X &b) l 模板函數(shù)與重載函數(shù)的區(qū)別。 模板函數(shù)和重載函數(shù)是非常類(lèi)似的,都是一組名字相同的函數(shù),模板函數(shù)處理的是只處理的數(shù)據(jù)類(lèi)型不同,各個(gè)函數(shù)的內(nèi)部行為是一樣的;而重載函數(shù)除了處理的數(shù)據(jù)類(lèi)型不同外,各個(gè)函數(shù)的內(nèi)部行為時(shí)不一樣的。 2、 類(lèi)模板 l 類(lèi)模板和模板函數(shù)的定義類(lèi)似。 l 聲明:template <class SType> class mystk 在mystk類(lèi)模板中的類(lèi)型參數(shù)SType,它代表了棧中存儲(chǔ)對(duì)象的類(lèi)型。要用類(lèi)模板生成對(duì)象,必須先要給類(lèi)模板的參數(shù)指定具體的數(shù)據(jù)類(lèi)型,即類(lèi)模板的實(shí)例化,類(lèi)模板名 <具體的數(shù)據(jù)類(lèi)型> mystk<int> istack l 類(lèi)模板的實(shí)例化與類(lèi)實(shí)例化是兩個(gè)不同的過(guò)程。類(lèi)模板的實(shí)例化結(jié)果是生成實(shí)實(shí)在在的類(lèi);而類(lèi)的實(shí)例化結(jié)果是生成對(duì)象,要為類(lèi)對(duì)象分配空間,同時(shí)調(diào)用相應(yīng)的構(gòu)造函數(shù)初始化對(duì)象。 l 當(dāng)在類(lèi)模板體外定義模板的成員函數(shù)時(shí),要在開(kāi)頭寫(xiě)上template<class SType>,后面是函數(shù)的說(shuō)明,在函數(shù)名前要加上mystk<SType>::作用域說(shuō)明符,表示此函數(shù)是mystk類(lèi)模板的函數(shù),SType是模板參數(shù)表中說(shuō)明的參數(shù)。 3、類(lèi)模板的派生問(wèn)題 1、普通類(lèi)作為基類(lèi) 2、類(lèi)模板作為基類(lèi) 注意程序的書(shū)寫(xiě)格式。
|
|