1.6 C+ +程序的基本框架
由于C+ +語言既支持結(jié)構(gòu)化程序設(shè)計,又支持面向?qū)ο蟪绦蛟O(shè)計,所以它同時具有結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計兩種基本框架。
1結(jié)構(gòu)化程序設(shè)計框架
在C+ +的結(jié)構(gòu)化程序設(shè)計框架中,函數(shù)是程序的基本組成單元。程序的主體通常由若干函數(shù)定義構(gòu)成。
函數(shù)是程序中完成一定功能的模塊。各個函數(shù)之間通過參數(shù)、返回值和全局變量來進行數(shù)據(jù)通信。
當編寫一個較大的程序時,可以把它按照功能逐級劃分成許多相對獨立的小模塊。每個小模塊的功能由一個函數(shù)實現(xiàn),再通過適當?shù)姆椒▽⑦@些函數(shù)組織在一起協(xié)同工作,就能夠完成整個程序所規(guī)定的任務(wù)。這種方法體現(xiàn)出了結(jié)構(gòu)化程序設(shè)計中“功能分解,逐步求精”的思想。
使用結(jié)構(gòu)化程序設(shè)計方法編寫出的C+ +程序包括一個主函數(shù)和若干用戶定義函數(shù)。主函數(shù)由操作系統(tǒng)調(diào)用,它是整個程序的入口。在主函數(shù)中調(diào)用其他函數(shù),其他函數(shù)之間也可以相互調(diào)用,并且同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。在C+ +中一個函數(shù)被調(diào)用之前必須先被聲明。函數(shù)聲明和函數(shù)體放在一起組成函數(shù)定義;函數(shù)體是用花括號括起來的若干語句,它們完成了一個函數(shù)的具體功能。
一般地,一個C+ +程序的結(jié)構(gòu)化程序設(shè)計框架可以表示為:
<函數(shù)1的聲明>
<函數(shù)2的聲明>
…
<函數(shù)n的聲明>
<主函數(shù)main()>
<函數(shù)1的定義>
<函數(shù)2的定義>
…
<函數(shù)n的定義>
2面向?qū)ο蟪绦蛟O(shè)計框架
在C+ +的面向?qū)ο蟪绦蛟O(shè)計框架中,類成為程序的基本組成單元。程序的主體通常由若干類的定義構(gòu)成。
類可以把數(shù)據(jù)和函數(shù)封裝在一起,用以描述事物的屬性和對事物的操作。類與類之間一方面通過封裝而具有明確的獨立性;另一方面又通過成員、友元、參數(shù)、繼承和派生等關(guān)系,達到相互通信和聯(lián)絡(luò)的目的,從而形成一個有機的整體。
在結(jié)構(gòu)化程序設(shè)計中,除了主函數(shù)之外,所有函數(shù)之間一律“平等”,沒有層次關(guān)系可言,當程序規(guī)模稍大時,就會使整體結(jié)構(gòu)變得相當混亂。相反,在面向?qū)ο蟪绦蛟O(shè)計中,類與類之間能夠按照邏輯關(guān)系組成有條理的層次結(jié)構(gòu),從而使一個復雜程序變得有“綱”可循。這正體現(xiàn)出面向?qū)ο笏枷氲膬?yōu)越性。
一般地,一個C+ +程序的面向?qū)ο蟪绦蛟O(shè)計框架可以表示為:
<類1的定義>
<類2的定義>
…
<類n的定義>
<主函數(shù)main()>
<類1的成員函數(shù)定義>
<類2的成員函數(shù)定義>
…
<類n的成員函數(shù)定義>
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |