在 C++ 中,就像其它面向?qū)ο缶幊陶Z言,可以通過定義一個(gè)新的類來定義一個(gè)新的類型。作為一個(gè) C++ 開發(fā)者,你的大量時(shí)間就這樣花費(fèi)在增大你的類型系統(tǒng)。這意味著你不僅僅是一個(gè)類的設(shè)計(jì)者,而且是一個(gè)類型的設(shè)計(jì)者。重載函數(shù)和運(yùn)算符,控制內(nèi)存分配和回收,定義對(duì)象的初始化和終結(jié)過程——這些全在你的掌控之中。因此你應(yīng)該在類設(shè)計(jì)中傾注大量心血,接近語言設(shè)計(jì)者在語言內(nèi)建類型的設(shè)計(jì)中所傾注的大量心血。
設(shè)計(jì)良好的類是有挑戰(zhàn)性的,因?yàn)樵O(shè)計(jì)良好的類型是有挑戰(zhàn)性的。良好的類型擁有簡單自然的語法,符合直覺的語義,以及一個(gè)或更多高效的實(shí)現(xiàn)。在 C++ 中,一個(gè)缺乏計(jì)劃的類設(shè)計(jì),使其不可能達(dá)到上述任何一個(gè)目標(biāo)。甚至一個(gè)類的成員函數(shù)的執(zhí)行特性可能受到它們是被如何聲明的影響。