您的瀏覽器不支持JavaScript,請(qǐng)開啟后繼續(xù)
C++程序設(shè)計(jì)及互動(dòng)多媒體開發(fā)

C++程序設(shè)計(jì)及互動(dòng)多媒體開發(fā)

  • 作者
  • 羅立宏 主編

本書從C++與C語言的區(qū)別講起,循序漸進(jìn),由淺入深,介紹了C++的基本語法、圖形界面開發(fā)技術(shù)以及互動(dòng)多媒體開發(fā)技術(shù)。本書分三大部分共10章:第一部分為C++基本語法知識(shí),包括第1~4章;第二部分為C++圖形界面技術(shù),包括第5、6章的MFC和第7章的Qt技術(shù);第三部分為幾種典型的互動(dòng)多媒體技術(shù),包括第8章音視頻開發(fā)、第9章Cocos2dX游戲引擎以及第10章虛幻引擎虛擬現(xiàn)實(shí)技...


  • ¥69.80

ISBN: 978-7-122-46006-6

版次: 1

出版時(shí)間: 2024-09-01

圖書信息

ISBN:978-7-122-46006-6

語種:漢文

開本:16

出版時(shí)間:2024-09-01

裝幀:平

頁數(shù):282

內(nèi)容簡(jiǎn)介

本書從C++與C語言的區(qū)別講起,循序漸進(jìn),由淺入深,介紹了C++的基本語法、圖形界面開發(fā)技術(shù)以及互動(dòng)多媒體開發(fā)技術(shù)。本書分三大部分共10章:第一部分為C++基本語法知識(shí),包括第1~4章;第二部分為C++圖形界面技術(shù),包括第5、6章的MFC和第7章的Qt技術(shù);第三部分為幾種典型的互動(dòng)多媒體技術(shù),包括第8章音視頻開發(fā)、第9章Cocos2dX游戲引擎以及第10章虛幻引擎虛擬現(xiàn)實(shí)技術(shù)。本書的講解理論結(jié)合實(shí)際,實(shí)例步驟詳細(xì),選用的實(shí)例和代碼非常具有代表性和實(shí)用價(jià)值。
本書可供高等院校計(jì)算機(jī)類專業(yè)學(xué)生作教材使用,也可供希望在多媒體開發(fā)技術(shù)進(jìn)階的程序開發(fā)人員閱讀參考。

編輯推薦

1.本書以C++23標(biāo)準(zhǔn)(2023年標(biāo)準(zhǔn))為基礎(chǔ),對(duì)C++的新增語言及類型的基礎(chǔ)知識(shí)進(jìn)行講解;介紹了C++的圖形界面應(yīng)用程序開發(fā)技術(shù),包括MFC對(duì)話框應(yīng)用程序及文檔視圖應(yīng)用程序、Qt應(yīng)用程序;著重講解FFMpeg、Cocos2d-X、UE5等基于C++語言的新技術(shù)及其綜合應(yīng)用。 2.書中的例題有詳細(xì)的操作步驟,且有代表性和實(shí)用價(jià)值,每章都有思考與練習(xí),幫助讀者更好地掌握相關(guān)知識(shí)。 3.隨書配套相關(guān)電子資源及程序源代碼,供讀者跟著本書練習(xí)使用。

圖書前言

在當(dāng)今的信息時(shí)代,計(jì)算機(jī)程序設(shè)計(jì)已經(jīng)成為與科技發(fā)展緊密相連的重要技能。而C++語言作為一門強(qiáng)大的編程語言,以其高效、靈活和可移植性強(qiáng)的特點(diǎn),一直是許多計(jì)算機(jī)和軟件工程專業(yè)的首選語言。為了讓廣大學(xué)生、研究人員和開發(fā)人員更深入地掌握C++語言的精髓,我們特地編寫了本書。
本書不僅講解了如何編寫C++代碼,更是一本引領(lǐng)讀者理解編程思想、掌握編程技巧的指南。本書從C++語法開始,逐步深入到面向?qū)ο缶幊?、泛型編程以及圖形界面開發(fā)技術(shù),然后在這些基礎(chǔ)之上,再引導(dǎo)讀者進(jìn)一步在互動(dòng)多媒體技術(shù)方面進(jìn)行實(shí)戰(zhàn)應(yīng)用與提高。本書每一章節(jié)的內(nèi)容都是精心設(shè)計(jì)的,旨在幫助讀者由淺入深地理解C++的各個(gè)方面。
C++語言已有悠長(zhǎng)歷史,關(guān)于C++已有非常多的書籍和教材。然而,C++也是一門不斷發(fā)展的語言,自1998年公布第一版C++標(biāo)準(zhǔn)(C++98)以來,C++語言就沿著C++11、C++14、C++17等的路徑發(fā)展而來。2023年,C++標(biāo)準(zhǔn)委員會(huì)又發(fā)布了C++23標(biāo)準(zhǔn)。然而,市面上大多數(shù)C++書籍和教材并未反映這些發(fā)展和變化,要反映這些新發(fā)展和新變化,是筆者編寫本教材的其中一個(gè)動(dòng)機(jī)。另外,C++的應(yīng)用領(lǐng)域廣泛繁多,尤其是近年來與很多其他新框架、新引擎相結(jié)合,又形成了新的技術(shù)。筆者注意到,市面上少有能反映近年C++互動(dòng)多媒體開發(fā)技術(shù)新發(fā)展的教材,所以需要有一本反映音視頻開發(fā)、游戲開發(fā)、虛擬現(xiàn)實(shí)等領(lǐng)域C++互動(dòng)多媒體開發(fā)新技術(shù)的教材,這也是筆者編寫本教材的另一個(gè)動(dòng)機(jī)。
在編寫過程中,我們特別注重理論與實(shí)踐相結(jié)合。除了對(duì)C++語言特性的詳細(xì)解釋外,書中還提供了豐富的實(shí)例代碼和實(shí)際應(yīng)用場(chǎng)景。這些代碼和案例都是經(jīng)過精心挑選的,旨在幫助讀者更好地理解和應(yīng)用所學(xué)知識(shí)。同時(shí),為了幫助讀者鞏固所學(xué)知識(shí),還設(shè)置了豐富的思考與練習(xí)題。
本書的總體思路是:扎實(shí)打好基礎(chǔ),面向?qū)嶋H應(yīng)用,由淺入深,深入淺出。本書的特色體現(xiàn)在:使用C++最新標(biāo)準(zhǔn),反映C++最新發(fā)展;面向互動(dòng)多媒體開發(fā)的專業(yè)前沿,實(shí)戰(zhàn)例題豐富,講解深入;遵循學(xué)習(xí)者的思路習(xí)慣,講解步驟清晰,使讀者易于學(xué)習(xí)和操作。
本書適合作為高等學(xué)校計(jì)算機(jī)專業(yè)以及數(shù)字媒體、游戲開發(fā)、虛擬現(xiàn)實(shí)等專業(yè)的C++語言課程的教材,也適合要使用C++進(jìn)行程序開發(fā)或從事多媒體應(yīng)用開發(fā)的人員參考。通過學(xué)習(xí)本書,讀者能夠掌握C++語言的基本語法、圖形界面開發(fā)技術(shù)以及互動(dòng)多媒體開發(fā)的最新技術(shù),為使用C++語言進(jìn)行通用程序開發(fā)或多媒體產(chǎn)品開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。另外,想提醒讀者的是:本書是一門講解C++語言及進(jìn)階應(yīng)用的教材,而一般C++的學(xué)習(xí)軌跡是先學(xué)習(xí)C語言,再學(xué)習(xí)C++語言及進(jìn)階應(yīng)用,這樣才能取得最好的學(xué)習(xí)效果。因此,建議讀者在學(xué)習(xí)本書前,先掌握一定的C語言基礎(chǔ)知識(shí)。
本書主要由羅立宏負(fù)責(zé)各章的撰寫,崔宏峰參加了第10章的編寫,陳俊佳和林鑫參加了各章的修正和校對(duì)。
本書配有PPT課件與例題源碼,購(gòu)買了本書的讀者可從配套電子資源中獲取,亦可向作者(luoleo98@***)或出版社索取。
本書為廣東省自然科學(xué)基金項(xiàng)目“室內(nèi)導(dǎo)航中的視覺定位幾何模型與AR導(dǎo)航關(guān)鍵技術(shù)”(2023A1515011706)和教育部人文社科項(xiàng)目“基于VR/AR的歷史文化展覽沉浸式可視化敘事構(gòu)架研究”(20YJAZH073)的階段性研究成果。同時(shí),衷心感謝廣東工業(yè)大學(xué)、化學(xué)工業(yè)出版社對(duì)本書的支持與幫助。
由于筆者水平有限,書中難免存在缺點(diǎn)和疏漏之處,懇請(qǐng)讀者批評(píng)指正。

羅立宏
2024年2月

目錄

第1章概述1
1.1從C到C++1
1.1.1C和C++的發(fā)展歷史1
1.1.2C與C++的區(qū)別2
1.1.3面向?qū)ο蟮膬?yōu)點(diǎn)2
1.1.4C++的應(yīng)用領(lǐng)域3
1.2章節(jié)安排4
1.3基礎(chǔ)知識(shí)要求4
1.4關(guān)于編譯器5

第2章C++新增語言7
2.1控制臺(tái)程序的創(chuàng)建7
2.1.1使用Visual Studio 2022創(chuàng)建控制臺(tái)工程7
2.1.2使用Visual C++6.0創(chuàng)建控制臺(tái)工程10
2.2C++輸入輸出12
2.2.1cout輸出語句12
2.2.2命名空間13
2.2.3cin輸入語句14
2.3循環(huán)語句新特性16
2.3.1auto關(guān)鍵字16
2.3.2范圍for語句17
2.4動(dòng)態(tài)內(nèi)存分配18
2.4.1關(guān)于動(dòng)態(tài)內(nèi)存分配18
2.4.2new與delete運(yùn)算符19
2.5函數(shù)新特性20
2.5.1inline內(nèi)聯(lián)函數(shù)20
2.5.2函數(shù)后置返回類型21
2.5.3引用參數(shù)21
2.5.4函數(shù)重載25
2.6異常27
2.6.1C++異常處理27
2.6.2C++標(biāo)準(zhǔn)異常28
思考與練習(xí)29

第3章類和對(duì)象30
3.1類和對(duì)象30
3.1.1類和對(duì)象的定義30
3.1.2對(duì)象的訪問32
3.1.3訪問特性34
3.1.4this指針35
3.2構(gòu)造函數(shù)和析構(gòu)函數(shù)35
3.2.1構(gòu)造函數(shù)36
3.2.2析構(gòu)函數(shù)37
3.3常成員與靜態(tài)成員39
3.3.1常成員函數(shù)39
3.3.2常數(shù)據(jù)成員39
3.3.3靜態(tài)數(shù)據(jù)成員40
3.3.4靜態(tài)成員函數(shù)41
3.4友元函數(shù)44
3.5繼承和派生45
3.5.1繼承和派生的概念45
3.5.2繼承方式和訪問特性47
3.5.3構(gòu)造函數(shù)和析構(gòu)函數(shù)48
3.5.4多繼承49
3.6虛函數(shù)與多態(tài)性54
3.6.1多態(tài)性54
3.6.2運(yùn)算符重載54
3.6.3虛函數(shù)55
3.6.4純虛函數(shù)57
3.6.5抽象類57
3.6.6再說面向?qū)ο?9
思考與練習(xí)59

第4章C++新增類型61
4.1string類型61
4.1.1定義與初始化61
4.1.2string對(duì)象的操作62
4.2vector類型65
4.2.1定義與初始化65
4.2.2vector對(duì)象的操作66
4.3迭代器68
4.3.1迭代器簡(jiǎn)介68
4.3.2迭代器的定義與使用69
4.3.3迭代器的操作69
4.3.4綜合舉例71
4.4模板與泛型72
4.4.1概述72
4.4.2函數(shù)模板74
4.4.3類模板76
4.5C++23新特性80
思考與練習(xí)82

第5章MFC對(duì)話框應(yīng)用程序83
5.1Windows編程基礎(chǔ)84
5.1.1Windows應(yīng)用程序84
5.1.2使用API函數(shù)85
5.1.3使用MFC類庫86
5.2基于對(duì)話框的應(yīng)用程序87
5.2.1開發(fā)過程88
5.2.2MFC類庫結(jié)構(gòu)92
5.2.3幾種常用控件的類結(jié)構(gòu)92
5.3靜態(tài)文本框、按鈕與編輯框93
5.3.1靜態(tài)文本框93
5.3.2按鈕94
5.3.3文本編輯框95
5.4框架、單選按鈕、復(fù)選框99
5.4.1框架99
5.4.2單選按鈕99
5.4.3復(fù)選框101
5.5列表框和組合框104
5.5.1列表框104
5.5.2組合框107
5.6滾動(dòng)條109
思考與練習(xí)113

第6章MFC文檔視圖應(yīng)用程序114
6.1文檔/視圖結(jié)構(gòu)114
6.1.1文檔/視圖結(jié)構(gòu)的特點(diǎn)114
6.1.2文檔/視圖程序的開發(fā)過程115
6.2繪圖與文字117
6.2.1OnDraw函數(shù)117
6.2.2Graphics類118
6.2.3畫筆122
6.2.4畫刷123
6.2.5位圖125
6.2.6字體126
6.3定時(shí)器127
6.4鼠標(biāo)與鍵盤消息處理134
6.4.1鼠標(biāo)消息134
6.4.2鍵盤消息140
6.5菜單143
6.5.1菜單資源編輯143
6.5.2菜單響應(yīng)函數(shù)143
6.6工具欄146
6.6.1工具欄繪制147
6.6.2工具欄消息響應(yīng)147
6.7對(duì)話框148
6.7.1自定義對(duì)話框148
6.7.2模態(tài)與非模態(tài)148
6.7.3通用對(duì)話框155
思考與練習(xí)158

第7章Qt開發(fā)160
7.1Qt開發(fā)環(huán)境搭建160
7.1.1Qt簡(jiǎn)介160
7.1.2Qt安裝160
7.1.3創(chuàng)建Hello World程序161
7.1.4程序發(fā)布166
7.2窗體167
7.2.1創(chuàng)建多窗口程序167
7.2.2登錄對(duì)話框171
7.2.3斷點(diǎn)調(diào)試174
7.2.4純代碼編寫175
7.3菜單、工具欄和狀態(tài)欄179
7.3.1菜單179
7.3.2工具欄182
7.3.3文本編輯器與布局182
7.3.4實(shí)現(xiàn)功能代碼183
7.3.5菜單響應(yīng)186
7.3.6狀態(tài)欄189
7.4鼠標(biāo)與鍵盤190
7.4.1鼠標(biāo)事件處理190
7.4.2鍵盤事件處理192
7.5簡(jiǎn)單繪圖193
7.5.1繪圖常用類193
7.5.2創(chuàng)建簡(jiǎn)單繪圖程序193
思考與練習(xí)195

第8章視頻與音頻196
8.1音視頻開發(fā)概述196
8.1.1音視頻開發(fā)應(yīng)用領(lǐng)域196
8.1.2常用的音視頻開發(fā)庫197
8.2FFMpeg音視頻播放198
8.2.1FFMpeg簡(jiǎn)介198
8.2.2FFMpeg開發(fā)設(shè)置199
8.2.3FFMpeg視頻播放器199
8.2.4FFMpeg音頻播放器201
8.2.5音視頻同步201
思考與練習(xí)202

第9章Cocos2d-X游戲開發(fā)203
9.1開發(fā)環(huán)境搭建203
9.1.1軟件下載安裝203
9.1.2創(chuàng)建項(xiàng)目HelloCocos206
9.1.3HelloCocos程序閱讀207
9.2游戲案例——宇宙戰(zhàn)記210
9.2.1創(chuàng)建新項(xiàng)目211
9.2.2清除HelloWorld內(nèi)容211
9.2.3添加背景圖212
9.2.4添加主角戰(zhàn)機(jī)213
9.2.5添加敵機(jī)213
9.2.6發(fā)射子彈 215
9.2.7碰撞檢測(cè)217
9.2.8敵機(jī)發(fā)射子彈 220
9.2.9主角戰(zhàn)機(jī)中彈222
9.2.10切換場(chǎng)景 224
9.3安卓版發(fā)布227
9.3.1發(fā)布準(zhǔn)備227
9.3.2導(dǎo)入Cocos的測(cè)試工程228
9.3.3導(dǎo)入SpaceWar工程228
思考與練習(xí)229

第10章虛擬現(xiàn)實(shí)應(yīng)用230
10.1虛擬現(xiàn)實(shí)概述230
10.1.1虛擬現(xiàn)實(shí)特性及應(yīng)用領(lǐng)域230
10.1.2虛擬現(xiàn)實(shí)開發(fā)方法231
10.1.3虛幻引擎簡(jiǎn)介231
10.2虛幻引擎建?;A(chǔ)232
10.2.1創(chuàng)建新項(xiàng)目233
10.2.2場(chǎng)景視口操作234
10.2.3創(chuàng)建新關(guān)卡235
10.2.4放置物體235
10.2.5改變材質(zhì)240
10.2.6導(dǎo)入外部模型241
10.2.7執(zhí)行構(gòu)建過程245
10.2.8設(shè)置默認(rèn)場(chǎng)景245
10.3虛幻引擎編程基礎(chǔ)246
10.3.1引擎編程機(jī)制247
10.3.2控制物體運(yùn)動(dòng)247
10.3.3 斷點(diǎn)調(diào)試與日志調(diào)試249
10.3.4增強(qiáng)輸入系統(tǒng)250
10.3.5UI設(shè)計(jì)與開發(fā)259
10.4虛擬博物館實(shí)例264
10.4.1模型構(gòu)建工作265
10.4.2數(shù)據(jù)結(jié)構(gòu)266
10.4.3程序代碼266
10.5沉浸式環(huán)境搭建267
10.5.1硬件環(huán)境安裝267
10.5.2使用藍(lán)圖搭建270
10.5.3使用C++搭建277
思考與練習(xí)281

參考文獻(xiàn)282

發(fā)送電子郵件聯(lián)系我們