出版時(shí)間:2010-2 出版社:北京航空航天大學(xué)出版社 作者:余祖龍,孫開(kāi)瓊 編 頁(yè)數(shù):274
前言
從20世紀(jì)60年代提出面向?qū)ο蟾拍钪两?,面向?qū)ο蠹夹g(shù)已發(fā)展成為一種比較成熟的編程思想,并且逐步成為目前軟件開(kāi)發(fā)領(lǐng)域的主流技術(shù)。這種技術(shù)從根本上改變了人們以往設(shè)計(jì)軟件的思維方式,它集抽象、封裝、繼承和多態(tài)于一體,實(shí)現(xiàn)了代碼重用和代碼擴(kuò)充,極大地減少了軟件開(kāi)發(fā)的復(fù)雜性,提高了軟件開(kāi)發(fā)的效率?! ∧壳埃芏嗬砉た圃盒6奸_(kāi)設(shè)了“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程,主要講解C++的基本理論知識(shí),而對(duì)VC部分通常不作介紹。學(xué)生在學(xué)習(xí)了C++的理論知識(shí)后,由于沒(méi)有合適的開(kāi)發(fā)平臺(tái)讓他們把所學(xué)的理論知識(shí)應(yīng)用到實(shí)際的軟件設(shè)計(jì)中去,從而很難具備工程軟件設(shè)計(jì)能力。但是,當(dāng)前的用人單位對(duì)學(xué)生工程軟件的設(shè)計(jì)能力有較高的要求,通常需要他們具備用VC++開(kāi)發(fā)工程軟件的能力。因此,教學(xué)環(huán)節(jié)與人才的培養(yǎng)及用人單位的實(shí)際需求嚴(yán)重脫鉤。我們針對(duì)存在的問(wèn)題,根據(jù)實(shí)際需求,編寫了本書,把面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論知識(shí)和Visual C++程序設(shè)計(jì)的基本方法有機(jī)地結(jié)合起來(lái),以符合人才培養(yǎng)的方向及社會(huì)發(fā)展的需求。 本書的編寫宗旨與特色表現(xiàn)在以下幾個(gè)方面: 1.重點(diǎn)突出,理論聯(lián)系實(shí)踐。在對(duì)比十幾本C++和Visual C++的教材內(nèi)容的基礎(chǔ)上,我們?cè)诰帉懕緯鴷r(shí)選取了C++精髓部分,做到重點(diǎn)突出,并且結(jié)合VC,使C++的理論知識(shí)能夠迅速應(yīng)用到VC程序的開(kāi)發(fā)中,并將所學(xué)的理論知識(shí)用于VC程序設(shè)計(jì)中,做到理論緊密聯(lián)系實(shí)踐?! ?.實(shí)例程序的趣味性。選取了大量耳熟能詳?shù)男∮螒蛟O(shè)計(jì)程序作為實(shí)例,如石頭剪刀布、猜數(shù)字等,使讀者在學(xué)習(xí)程序設(shè)計(jì)的過(guò)程中充分體會(huì)到編程帶來(lái)的樂(lè)趣,寓學(xué)于樂(lè),提高學(xué)習(xí)的效率和效果?! ?.內(nèi)容選取上的創(chuàng)新性。根據(jù)程序設(shè)計(jì)的實(shí)際需要,在第2章加入了隨機(jī)數(shù)知識(shí)的講解,并在第13章介紹了定時(shí)器及其應(yīng)用?! ?.代碼的準(zhǔn)確性。書中所有的例題源代碼都在Visual C++6.0上調(diào)試通過(guò),以確保程序代碼準(zhǔn)確無(wú)誤?! ”緯譃閮纱蟛糠郑阂皇荂++部分,內(nèi)容包括C++概述,C++語(yǔ)言基礎(chǔ),C++基本控制結(jié)構(gòu),函數(shù),類與對(duì)象,數(shù)組與指針,繼承與派生,多態(tài)性;二是VC部分,內(nèi)容包括Visual C++集成開(kāi)發(fā)環(huán)境,基于文檔/視圖的程序設(shè)計(jì),菜單、工具欄、狀態(tài)欄和快捷鍵,基于對(duì)話框的程序設(shè)計(jì),定時(shí)器,Windows標(biāo)準(zhǔn)控件,設(shè)備上下文與圖形設(shè)備接口。
內(nèi)容概要
《面向?qū)ο蟪绦蛟O(shè)計(jì)與VC程序設(shè)計(jì)入門》系統(tǒng)地介紹面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論和Visual C++程序設(shè)計(jì)的基本方法。全書分C++和VC兩大部分,共15章。內(nèi)容包括:C++概述,C++語(yǔ)言基礎(chǔ),C++基本控制結(jié)構(gòu),函數(shù),類與對(duì)象,數(shù)組與指針,繼承與派生,多態(tài)性,Visual C++集成開(kāi)發(fā)環(huán)境,基于文檔視圖的程序設(shè)計(jì),菜單、工具欄、狀態(tài)欄和快捷鍵,基于對(duì)話框的程序設(shè)計(jì),定時(shí)器及其應(yīng)用,Windows標(biāo)準(zhǔn)控件,設(shè)備上下文與圖形設(shè)備接口。 《面向?qū)ο蟪绦蛟O(shè)計(jì)與VC程序設(shè)計(jì)入門》可作為高等學(xué)校相關(guān)課程的教材或參考書,也可作為C++和Visual C++的學(xué)習(xí)者自學(xué)或培訓(xùn)教材。
書籍目錄
第1章 C++概述11.1 C++的產(chǎn)生11.2 計(jì)算機(jī)程序語(yǔ)言的發(fā)展11.2.1 程序和程序語(yǔ)言11.2.2 結(jié)構(gòu)化程序設(shè)計(jì)21.2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)21.3 C++語(yǔ)言的特點(diǎn)31.4 簡(jiǎn)單的C++程序41.5 C++程序開(kāi)發(fā)51.5.1 C++程序開(kāi)發(fā)過(guò)程51.5.2 C++程序開(kāi)發(fā)環(huán)境5第2章 C++語(yǔ)言基礎(chǔ)92.1 基本數(shù)據(jù)類型92.2 常量102.3 變量112.3.1 變量的聲明和定義112.3.2 變量的存儲(chǔ)類型122.3.3 變量的作用域、可見(jiàn)性和生存期122.3.4 外部變量的聲明和引用162.4 運(yùn)算符與表達(dá)式192.4.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式192.4.2 賦值運(yùn)算符與賦值表達(dá)式202.4.3 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式202.4.4 邏輯運(yùn)算與邏輯表達(dá)式212.4.5 條件運(yùn)算符與條件表達(dá)式222.4.6 sizeof操作符222.4.7 位運(yùn)算222.5 C++的輸入/輸出232.6 自定義數(shù)據(jù)類型262.6.1 類型定義語(yǔ)句——typedef262.6.2 枚舉類型——enum272.6.3 結(jié)構(gòu)體類型282.6.4 共用體類型292.7 隨機(jī)數(shù)31第3章 C++基本控制結(jié)構(gòu)353.1 順序結(jié)構(gòu)353.2 選擇結(jié)構(gòu)353.2.1 用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)363.2.2 多重選擇結(jié)構(gòu)373.3 循環(huán)結(jié)構(gòu)413.3.1 while語(yǔ)句433.3.2 do…while語(yǔ)句443.3.3 for語(yǔ)句463.4 其他控制語(yǔ)句483.4.1 break語(yǔ)句493.4.2 continue語(yǔ)句513.4.3 goto語(yǔ)句51第4章 函數(shù)534.1 函數(shù)的定義534.2 函數(shù)的調(diào)用544.2.1 函數(shù)的調(diào)用形式544.2.2 函數(shù)的嵌套調(diào)用574.2.3 遞歸調(diào)用574.3 函數(shù)的參數(shù)的傳遞584.3.1 值調(diào)用584.3.2 引用調(diào)用594.4 內(nèi)聯(lián)函數(shù)604.5 帶默認(rèn)參數(shù)的函數(shù)614.6 函數(shù)重載634.7 函數(shù)模板67第5章 類與對(duì)象695.1 類形成的基礎(chǔ)695.1.1 抽象695.1.2 封裝705.2 類和對(duì)象705.2.1 類的聲明715.2.2 類成員的訪問(wèn)控制725.2.3 類的成員函數(shù)735.2.4 對(duì)象745.2.5 類成員的訪問(wèn)755.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)775.3.1 構(gòu)造函數(shù)775.3.2 析構(gòu)函數(shù)815.4 類的組合825.5 類的靜態(tài)成員845.5.1 靜態(tài)成員變量855.5.2 靜態(tài)成員函數(shù)865.6 友元885.6.1 友元函數(shù)885.6.2 友元類915.7 類模板93第6章 數(shù)組與指針976.1 數(shù)組976.1.1 數(shù)組的聲明和使用976.1.2 數(shù)組的存儲(chǔ)與初始化986.1.3 數(shù)組作為函數(shù)參數(shù)1036.1.4 對(duì)象數(shù)組1046.2 指針1066.2.1 內(nèi)存空間的訪問(wèn)方式1066.2.2 指針變量的聲明1076.2.3 與地址相關(guān)的運(yùn)算符——“*”和“&”1076.2.4 指針的初始化1086.2.5 指針運(yùn)算1096.2.6 用指針處理數(shù)組元素1106.2.7 指針數(shù)組1116.2.8 用指針作為函數(shù)參數(shù)1136.2.9 對(duì)象指針1156.2.1 0動(dòng)態(tài)分配/撤銷內(nèi)存的運(yùn)算符new和delete1166.3 字符串1176.3.1 使用字符數(shù)組處理字符串1176.3.2 使用字符串變量處理字符串119第7章 繼承與派生1227.1 繼承與派生1227.1.1 概念1237.1.2 派生類的聲明1257.1.3 派生類的生成過(guò)程1267.2 訪問(wèn)控制1277.2.1 公有繼承1277.2.2 私有繼承1297.2.3 保護(hù)繼承1307.3 類型兼容規(guī)則1327.4 派生類的構(gòu)造和析構(gòu)函數(shù)1347.4.1 派生類的構(gòu)造函數(shù)1347.4.2 派生類的析構(gòu)函數(shù)1367.5 二義性問(wèn)題及其消除1427.5.1 二義性問(wèn)題(一)1427.5.2 二義性問(wèn)題(二)1447.5.3 虛基類145第8章 多態(tài)性1478.1 多態(tài)性概述1478.2 運(yùn)算符重載1488.2.1 運(yùn)算符重載的規(guī)則1498.2.2 運(yùn)算符重載為成員函數(shù)1508.2.3 運(yùn)算符重載為友元函數(shù)1518.3 虛函數(shù)1528.4 抽象類1558.4.1 純虛函數(shù)1568.4.2 抽象類156第9章 VisualC++6.0開(kāi)發(fā)環(huán)境1599.1 VisualC++6.0集成開(kāi)發(fā)環(huán)境簡(jiǎn)介1599.2 集成平臺(tái)基本操作1619.2.1 打開(kāi)和關(guān)閉應(yīng)用程序1619.2.2 編譯運(yùn)行一個(gè)應(yīng)用程序1629.3 應(yīng)用程序向?qū)?629.3.1 VisualC++中的向?qū)ь愋?639.3.2 使用MFCAppWizard1639.3.3 應(yīng)用程序向?qū)傻奈募?729.4 ClassWizard類向?qū)?789.4.1 ClassWizard的功能1789.4.2 添加成員變量1799.4.3 添加消息處理函數(shù)1809.4.4 為項(xiàng)目添加新類180第10章 基于文檔/視圖的程序設(shè)計(jì)182第11章 菜單、工具欄、狀態(tài)欄和快捷鍵196第12章 基于對(duì)話框的程序設(shè)計(jì)206第13章 定時(shí)器及其應(yīng)用223第14章 Windows標(biāo)準(zhǔn)控件239第15章 設(shè)備上下文和圖形設(shè)備接口256參考文獻(xiàn)276
章節(jié)摘錄
眾所周知,C語(yǔ)言是面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。在進(jìn)行較小規(guī)模的程序設(shè)計(jì)時(shí),設(shè)計(jì)者用C語(yǔ)言較為得心應(yīng)手。但是,當(dāng)問(wèn)題比較復(fù)雜、程序的規(guī)模比較大時(shí),特別是進(jìn)行大型軟件設(shè)計(jì)時(shí),結(jié)構(gòu)化程序設(shè)計(jì)方法就顯現(xiàn)出它的不足,具體表現(xiàn)在數(shù)據(jù)的封裝差、代碼重用性差等。 為了解決軟件設(shè)計(jì)存在的問(wèn)題,美國(guó)AT&T(貝爾實(shí)驗(yàn)室)的Bjarne Stroustrup博士在20世紀(jì)80年代初期發(fā)明并實(shí)現(xiàn)了C++(最初這種語(yǔ)言被稱為C with Classes)。一開(kāi)始,c++是作為c語(yǔ)言的增強(qiáng)版出現(xiàn)的,從給C語(yǔ)言增加類開(kāi)始,不斷地增加新特性。虛函數(shù)(virtual function)、運(yùn)算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、命名空間(namespace)逐漸被加入標(biāo)準(zhǔn)。1998年,國(guó)際標(biāo)準(zhǔn)組織(ISO)頒布了C++程序設(shè)計(jì)語(yǔ)言的國(guó)際標(biāo)準(zhǔn)ISO/IEC14882-1998。C++是具有國(guó)際標(biāo)準(zhǔn)的編程語(yǔ)言,通常稱為ANSI/ISOC++。1998年是C++標(biāo)準(zhǔn)委員會(huì)成立的第一年,以后每5年視實(shí)際需要更新一次標(biāo)準(zhǔn)。 C++是由C語(yǔ)言發(fā)展而來(lái)的,與C語(yǔ)言兼容。用C語(yǔ)言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集。C++既可用于面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì),也可用于面向?qū)ο蟮某绦蛟O(shè)計(jì),是一種功能強(qiáng)大的混合型程序設(shè)計(jì)語(yǔ)言。 目前,C++越來(lái)越受到重視并已得到了廣泛采用,許多軟件公司為C++設(shè)計(jì)編譯系統(tǒng),提供不同應(yīng)用級(jí)別的類庫(kù)和越來(lái)越方便的開(kāi)發(fā)環(huán)境,如Microsoft公司的VisualC++6.O及以上版本、Borland公司的BorlandC++5.02,以及自由軟件GCC等?! ?.2 計(jì)算機(jī)程序語(yǔ)言的發(fā)展 1.2.1 程序和程序語(yǔ)言 程序是計(jì)算機(jī)處理對(duì)象和計(jì)算規(guī)則的描述。程序設(shè)計(jì)語(yǔ)言是用來(lái)描述計(jì)算機(jī)事物處理過(guò)程、便于計(jì)算機(jī)執(zhí)行的規(guī)范化語(yǔ)言。語(yǔ)言的基礎(chǔ)是一組記號(hào)和規(guī)則,根據(jù)規(guī)則由記號(hào)構(gòu)成記號(hào)串的總體就是語(yǔ)言?! ∪祟愖匀徽Z(yǔ)言是人們進(jìn)行交流和表達(dá)思想的工具。那么,人與計(jì)算機(jī)如何進(jìn)行“交流”呢?為此,就產(chǎn)生了計(jì)算機(jī)語(yǔ)言,其功能是人用計(jì)算機(jī)語(yǔ)言編寫一系列動(dòng)作,計(jì)算機(jī)能夠“理解”這些動(dòng)作,并按照指定的動(dòng)作去執(zhí)行。正是這種相同點(diǎn),所以計(jì)算機(jī)語(yǔ)言和自然語(yǔ)言都叫做“語(yǔ)言”?! ∽匀挥捎谄錃v史性和文化性,除了其語(yǔ)法外,還包含復(fù)雜的語(yǔ)義和語(yǔ)境,所以,人們也能理解很多不完全符合語(yǔ)法的語(yǔ)句。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
面向?qū)ο蟪绦蛟O(shè)計(jì)與VC程序設(shè)計(jì)入門 PDF格式下載