出版時間:2010-10 出版社:劉恒洋、 楊宏雨 機械工業(yè)出版社 (2010-10出版) 作者:劉恒洋,楊宏雨 著 頁數(shù):254
前言
C++語言是美國貝爾實驗室于20世紀(jì)80年代在C語言的基礎(chǔ)上開發(fā)出來的,雖然在它之后又出現(xiàn)了Java和C#之類的新語言,但至今它仍是人們進行中型和大型軟件開發(fā)項目的最佳選擇之一。本書不同于其他C++語言的教材,而是另辟蹊徑,從一個實際的案例 “基于TCP/IP的點對點網(wǎng)絡(luò)通信系統(tǒng)”出發(fā),結(jié)合每一章的知識點,手把手地講解如何利用學(xué)到的知識構(gòu)架系統(tǒng)。這樣不僅讓學(xué)生在學(xué)習(xí)C++語言的語法的同時保持極大的興趣,還能對真正地利用C++語言進行大型軟件開發(fā)作一個有效的嘗試,為學(xué)生今后從事開發(fā)工作打下良好的基礎(chǔ)。本書所用案例涉及網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)庫、多線程等知識,所以要求讀者對計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、操作系統(tǒng)的基本知識有所了解。本書主要講述C++面向?qū)ο蠹案呒墤?yīng)用,所以面向的是有C或其他語言編程基礎(chǔ)的讀者。在組織結(jié)構(gòu)上本書采用案例貫通式,以案例為主線,每一章的案例實現(xiàn)都是建立在前面章節(jié)的基礎(chǔ)上的。建議讀者從頭閱讀,如果只選取其中的一兩章進行閱讀,則不能很好地理解案例的實現(xiàn)過程。本書章節(jié)分配如下:第1章初步認(rèn)識C++和實例系統(tǒng)。本章首先介紹C++語言的特點,接著介紹本書實例系統(tǒng)的總體結(jié)構(gòu)和功能,重點給出實例系統(tǒng)中的協(xié)議設(shè)計,最后建立服務(wù)器項目,為后面章節(jié)的實例系統(tǒng)開發(fā)做好準(zhǔn)備。第2章類和對象及其應(yīng)用。本章介紹C++中類和對象的定義語法,利用這些知識來設(shè)計實例系統(tǒng)中的核心基礎(chǔ)類:消息實體類和在線用戶信息類。第3章C++多態(tài)性的定義及其應(yīng)用。本章主要介紹C++中繼承的定義和多態(tài)性的實現(xiàn),以及如何應(yīng)用,即設(shè)計實例系統(tǒng)中數(shù)據(jù)庫操作類的層次結(jié)構(gòu)。第4章C++的輸入/輸出流及其應(yīng)用。本章詳細(xì)介紹iostream庫在標(biāo)準(zhǔn)輸入/輸出和文件的輸入/輸出兩個方面的應(yīng)用及相關(guān)語法,并在此基礎(chǔ)上為實例系統(tǒng)設(shè)計能夠讀寫配置文件信息的輸入/輸出類。第5章Windows程序設(shè)計基礎(chǔ)。本章介紹Windows應(yīng)用程序的基本框架構(gòu)成和運行機制。第6章MFC應(yīng)用程序基礎(chǔ)。本章以實例系統(tǒng)中客戶端的建立為例,介紹如何利用MFC和Visual C++的應(yīng)用程序向?qū)Вˋpplication Wizard)編寫Windows應(yīng)用程序,以及MFC應(yīng)用程序中各種標(biāo)準(zhǔn)控件的使用。第7章MFC數(shù)據(jù)庫編程及其應(yīng)用。本章介紹ODBC的概念和簡單使用方法,并在此基礎(chǔ)上設(shè)計實例系統(tǒng)數(shù)據(jù)庫,完善實例系統(tǒng)中服務(wù)器端的數(shù)據(jù)庫操作類。第8章Windows多線程應(yīng)用程序及其應(yīng)用。本章主要介紹Windows多線程的概念,以及線程之間的同步與通信,設(shè)計實例系統(tǒng)中的服務(wù)器多線程類和客戶端多線程類。第9章Winsock編程及其應(yīng)用。本章主要介紹在Win32平臺上基于Winsock的TCP/IP編程基礎(chǔ)知識,實現(xiàn)實例系統(tǒng)中網(wǎng)絡(luò)通信的相關(guān)功能,完成整個實例系統(tǒng)。為了更好地配合任課教師的教學(xué),幫助學(xué)生解決學(xué)習(xí)中的困惑,本書還提供了配套的電子教案。如果需要,可以登錄華章網(wǎng)站(www.hzbook.com)或通過郵件liuhengyang@cqut.edu.cn索取。本書由重慶理工大學(xué)的劉恒洋、楊宏雨、王勇、王柯柯、劉潔、黃同愿和但遠(yuǎn)宏老師執(zhí)筆編寫,同時本書得到了重慶理工大學(xué)教材出版基金資助。盡管我們在寫作過程中投入了大量的時間和精力,但由于水平有限,錯誤和不足仍在所難免,敬請讀者批評指正。
內(nèi)容概要
《面向?qū)ο蟪绦蛟O(shè)計案例教程》以VC 6.0為開發(fā)平臺,以一個完整的實例系統(tǒng)的開發(fā)過程為主線,將C++基本知識點和Windows程序設(shè)計的基礎(chǔ)知識融入到實例系統(tǒng)的不同功能模塊中去,并最終完成實例系統(tǒng)所有功能的代碼。 本書的主要內(nèi)容為:第1~4章主要介紹C++的基礎(chǔ)語法知識,這部分的程序設(shè)計不涉及任何界面編程,主要是利用C++進行實例系統(tǒng)底層類的封裝和定義;第5~6章主要介紹MFC對Windows程序設(shè)計的封裝和利用MFC進行Windows程序設(shè)計的方法,并完成實例系統(tǒng)中和界面相關(guān)的功能;第7~9章主要介紹Windows程序設(shè)計高級應(yīng)用中的數(shù)據(jù)庫編程、多線程編程以及利用Winsock進行網(wǎng)絡(luò)通信編程這三個方面的知識,同時完成實例系統(tǒng)中比較核心的三大功能:數(shù)據(jù)庫操作、多線程通信與同步以及底層網(wǎng)絡(luò)通信?! ”緯粌H僅介紹C++中比較核心和經(jīng)常使用的基本語法,而且把C++編程和Windows編程有機結(jié)合起來,使讀者不再孤立地用C++進行枯燥的沒有界面的編程。此外,本書把所有的知識點都與實例系統(tǒng)中的一個個相關(guān)功能關(guān)聯(lián)起來,使得讀者在學(xué)習(xí)過程中充滿趣味性。本書適合有一定的C語言編程基礎(chǔ)的讀者進行C++編程入門和進階。
書籍目錄
前言教學(xué)建議第1章 初步認(rèn)識c++和實例系統(tǒng)1.1 c++語言概述1.1.1 c++語言的特點1.1.2 類和對象的概念1.2 實例系統(tǒng)概述1.2.1 實例系統(tǒng)的總體功能1.2.2 實例系統(tǒng)的總體結(jié)構(gòu)1.2.3 實例系統(tǒng)的協(xié)議設(shè)計1.3 實例系統(tǒng)開發(fā)前的準(zhǔn)備1.3.1 創(chuàng)建服務(wù)器項目1.3.2 定義公共頭文件1.3.3 定義協(xié)議1.4 本章小結(jié)1.5 思考與練習(xí)第2章 類和對象及其應(yīng)用2.1 c++基礎(chǔ)語法2.1.1 new和delete2.1.2 const限定修飾符2.1.3 引用2.2 類和對象2.2.1 類和對象的定義2.2.2 類成員的定義和訪問2.2.3 類的構(gòu)造函數(shù)和析構(gòu)函數(shù)2.2.4 操作符重載2.2.5 類模板和標(biāo)準(zhǔn)模板庫2.3 消息實體類的設(shè)計和實現(xiàn)2.3.1 消息實體類的設(shè)計2.3.2 消息實體類的實現(xiàn)2.4 在線用戶信息類的設(shè)計2.4.1 在線用戶信息類的定義2.4.2 在線用戶信息類的實現(xiàn)2.5 本章小結(jié)2.6 思考與練習(xí)第3章 c++多態(tài)性的定義及其應(yīng)用3.1 基類和派生類3.1.1 基類和派生類的定義3.1.2 基類和派生類成員的定義及其訪問3.2 基類和派生類的構(gòu)造及其析構(gòu)3.2.1 基類和派生類的構(gòu)造函數(shù)3.2.2 基類和派生類的析構(gòu)函數(shù)3.3 多態(tài)性在c++中的體現(xiàn)3.3.1 靜態(tài)多態(tài)性3.3.2 動態(tài)多態(tài)性3.4 實例系統(tǒng)數(shù)據(jù)庫操作類的設(shè)計3.5 本章小結(jié)3.6 思考與練習(xí)第4章 c++的輸入/輸出流及其應(yīng)用4.1 c++輸入/輸出流概述4.1.1 c++的輸入/輸出流類庫4.1.2 c++對流文件的操作4.2 ]]和[[輸入/輸出操作符4.2.1 ]]和[[用于標(biāo)準(zhǔn)輸入/輸出4.2.2 ]]和[[用于文件輸入/輸出4.2.3 ]]和[[操作符的重載4.3 get()和put()輸入/輸出函數(shù)4.3.1 get()和put()用于標(biāo)準(zhǔn)輸入/輸出4.3.2 get()和put()用于文件輸入/輸出4.4 read()和write()輸入/輸出函數(shù)4.4.1 read()和write()用于標(biāo)準(zhǔn)輸入/輸出4.4.2 read()和write()用于文件輸入/輸出4.5 格式控制4.5.1 布爾變量的輸出操作控制4.5.2 帶進制整數(shù)的輸出操作控制4.5.3 浮點數(shù)輸出操作控制4.5.4 輸入操作控制4.5.5 刷新緩沖區(qū)操作控制4.5.6 字符設(shè)置操作控制4.6 實例系統(tǒng)輸入/輸出類的設(shè)計4.6.1 輸入/輸出需求4.6.2 輸入/輸出類的實現(xiàn)4.7 本章小結(jié)4.8 思考與練習(xí)第5章 windows程序設(shè)計基礎(chǔ)5.1 概述5.1.1 窗口5.1.2 事件驅(qū)動5.1.3 句柄和windows消息5.2 最簡單的windows應(yīng)用程序5.2.1 最簡單的windows應(yīng)用程序的組成5.2.2 最簡單的windows應(yīng)用程序示例5.3 本章小結(jié)5.4 思考與練習(xí)第6章 mfc應(yīng)用程序基礎(chǔ)6.1 應(yīng)用程序向?qū)?.2 mfc應(yīng)用程序中常用windows標(biāo)準(zhǔn)控件的應(yīng)用6.2.1 按鈕控件及其應(yīng)用6.2.2 列表框控件及其應(yīng)用6.2.3 編輯框控件及其應(yīng)用6.2.4 組合框控件及其應(yīng)用6.2.5 對話框通用控件及其應(yīng)用6.3 基于對話框的mfc應(yīng)用程序在實例系統(tǒng)中的應(yīng)用6.3.1 登錄對話框的設(shè)計與實現(xiàn)6.3.2 添加全局變量和全局函數(shù)6.3.3 注冊對話框的設(shè)計與實現(xiàn)6.3.4 主界面對話框的設(shè)計與實現(xiàn)6.3.5 查看聯(lián)系人信息對話框的設(shè)計與實現(xiàn)6.3.6 查找聯(lián)系人類型對話框的設(shè)計與實現(xiàn)6.3.7 查找聯(lián)系人結(jié)果對話框的設(shè)計與實現(xiàn)6.3.8 文本聊天對話框的設(shè)計與實現(xiàn)6.3.9 為實例系統(tǒng)添加自定義消息6.4 本章小結(jié)6.5 思考與練習(xí)第7章 mfc數(shù)據(jù)庫編程及其應(yīng)用7.1 數(shù)據(jù)庫系統(tǒng)的基本概念7.2 odbc基本概念7.3 mfc的odbc類簡介7.3.1 cdatabase類7.3.2 crecordset類7.4 設(shè)計實例系統(tǒng)數(shù)據(jù)庫7.5 注冊數(shù)據(jù)源7.6 設(shè)計實例系統(tǒng)數(shù)據(jù)庫操作類7.7 本章小結(jié)7.8 思考與練習(xí)第8章 windows多線程應(yīng)用程序及其應(yīng)用8.1 進程和線程8.1.1 進程和線程的概念8.1.2 線程的創(chuàng)建和終止8.2 線程同步8.2.1 事件對象8.2.2 臨界段8.2.3 互斥體8.2.4 信號計數(shù)器8.3 線程通信8.3.1 利用全局對象進行線程通信8.3.2 利用自定義消息進行線程通信8.4 設(shè)計服務(wù)器多線程類8.4.1 服務(wù)器線程工作流程8.4.2 服務(wù)器線程類的實現(xiàn)8.5 設(shè)計客戶端多線程類8.5.1 客戶端線程工作流程8.5.2 客戶端線程類的實現(xiàn)8.6 本章小結(jié)8.7 思考與練習(xí)第9章 winsock編程及其應(yīng)用9.1 網(wǎng)際協(xié)議9.1.1 tcp和udp9.1.2 定址9.1.3 套接字9.2 winsock基礎(chǔ)9.2.1 winsock的初始化9.2.2 錯誤檢查和控制9.2.3 面向連接的協(xié)議9.2.4 無連接協(xié)議9.3 利用winsock完善實例系統(tǒng)9.3.1 收發(fā)消息類的封裝9.3.2 完善服務(wù)器收發(fā)消息線程9.3.3 完善服務(wù)器消息處理線程9.3.4 完善服務(wù)器主函數(shù)9.3.5 完善客戶端收發(fā)消息線程9.4 本章小結(jié)9.5 思考與練習(xí)參考文獻
章節(jié)摘錄
插圖:c++是一門抽象性的面向?qū)ο蟮木幊陶Z言,本章將從封裝性、繼承性和多態(tài)性這三個方面來講述C++語言的特點;同時本章還將從協(xié)議、需求和開發(fā)工具這三個方面來闡述貫穿本書的實例系統(tǒng),讓讀者對實例系統(tǒng)有一個大概的了解;最后本章將為后續(xù)的實例系統(tǒng)的開發(fā)做一些準(zhǔn)備。1.1C++語言概述c++語言是美國貝爾實驗室于20世紀(jì)80年代在c語言的基礎(chǔ)上開發(fā)出來的,它保留了c語言的全部優(yōu)點,增加了面向?qū)ο蟮臋C制,支持面向?qū)ο蟪绦蛟O(shè)計方法。這使得C++語言比較適合于中型和大型的軟件開發(fā)項目。1.1.1C++語言的特點c++語言作為一種面向?qū)ο蟪绦蛟O(shè)計語言,具有封裝性、繼承性和多態(tài)性三大特性。1.封裝性封裝是面向?qū)ο蠓椒ǖ囊粋€重要原則,即將對象的屬性和行為代碼封裝在對象的內(nèi)部,形成一個獨立的單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。c++面向?qū)ο蟮姆庋b特性包含兩層含義:第一層含義是將對象的全部屬性和行為封裝在對象的內(nèi)部,形成一個不可分割的獨立單位,對象的屬性值只能由這個對象的行為來讀取和修改;第二層含義是"信息隱蔽",即盡可能隱蔽對象的內(nèi)部細(xì)節(jié),對外形成一道屏障,只保留有限的對外接口與外部發(fā)生聯(lián)系。面向?qū)ο蟪绦蛟O(shè)計方法的信息隱蔽作用體現(xiàn)了自然界中事物的相對獨立性,程序設(shè)計者與使用者只需關(guān)心其對外提供的接口,而不必過分注意其內(nèi)部細(xì)節(jié)。封裝性使對象以外的事物不能隨意獲取對象的內(nèi)部屬性,從而有效地避免了外部的錯誤訪問對它產(chǎn)生的影響,大大減輕了軟件開發(fā)過程中查錯的工作量,有效地減小了排錯的難度。c++一般用類來實現(xiàn)封裝性,并通過設(shè)置對數(shù)據(jù)的訪問權(quán)限來控制對內(nèi)部數(shù)據(jù)的訪問,即將類的部分成員作為類的外部接口,將其他成員隱藏起來,實現(xiàn)對數(shù)據(jù)成員的合理控制,使程序的不同部分之間的相互影響盡可能降到最小。2.繼承性客觀事物既有共性,又有個性,如果只考慮事物的共性,而不考慮事物的個性,就不能真實地反映出客觀世界中事物之間的層次關(guān)系。面向?qū)ο笾械某橄笮砸馕吨釛墝ο蟮拇我匦?,提取事物的本質(zhì)共性,形成類。如果在類的基礎(chǔ)上,根據(jù)實際目標(biāo)的需要合理考慮一部分對象的個性特征,則可形成一個新類。
編輯推薦
《面向?qū)ο蟪绦蛟O(shè)計案例教程》不僅介紹C++中核心和常用的基本語法,而且把C++編程和Windows編程有機結(jié)合起來,使讀者不再孤立地用C++進行枯燥的沒有界面的編程?!睹嫦?qū)ο蟪绦蛟O(shè)計案例教程》把面向?qū)ο蟪绦蛟O(shè)計中所有的知識點與實例系統(tǒng)中的功能關(guān)聯(lián)起來,使得讀者在學(xué)習(xí)過程中充滿趣味性。〈br〉《面向?qū)ο蟪绦蛟O(shè)計案例教程》特色〈br〉?基礎(chǔ)與應(yīng)用并重?!睹嫦?qū)ο蟪绦蛟O(shè)計案例教程》從一個實際的案例"基于TCP/IP的點對點網(wǎng)絡(luò)通信系統(tǒng)"出〈br〉發(fā),結(jié)合每一章的知識點,手把手地引導(dǎo)讀者利用面向?qū)ο蟮闹R構(gòu)建系統(tǒng)?!碽r〉?內(nèi)容安排循序漸進?!睹嫦?qū)ο蟪绦蛟O(shè)計案例教程》合理地劃分實例系統(tǒng)的功能模塊,組織上采用案例貫通式?!碽r〉以案例為主線。每一章的案例實現(xiàn)都建立在前面內(nèi)容的基礎(chǔ)上,讓讀者逐步掌握C++〈br〉基礎(chǔ)語法、Windows程序設(shè)計和MFC程序設(shè)計三個方面的知識?!碽r〉?實例系統(tǒng)代碼豐富?!睹嫦?qū)ο蟪绦蛟O(shè)計案例教程》實例系統(tǒng)的代碼量比較大(一兩萬行左右),所有的代碼都〈br〉合理地分布在正文中,這對于讀者自學(xué)很有幫助。讀者對象廣泛?!睹嫦?qū)ο蟪绦蛟O(shè)計案例教程》既可以作為本、??艭++面向?qū)ο蟪绦蛟O(shè)計等課程的教材來使〈br〉用,也適合于有一定C語言編程基礎(chǔ)的讀者自學(xué)?!碽r〉貫穿全書的實例程序〈br〉簡潔的C++語法和WiIldows程序設(shè)計的完美結(jié)合〈br〉特有的服務(wù)器和客戶機多線程解決方案。
圖書封面
評論、評分、閱讀與下載