TOP
0
0
即日起~7/10,三民書局週年慶暖身活動,簽到拿好禮!
面向對象的嵌入式軟件開發(簡體書)
滿額折

面向對象的嵌入式軟件開發(簡體書)

商品資訊

人民幣定價:88 元
定價
:NT$ 528 元
優惠價
87459
領券後再享89折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書立足編程實踐,以Linux或者Windows為開發平臺,從初學者的角度出發,以面向對象程序設計思想為主線,結合實際項目的開發需求,將隱藏在面向對象背後的關於C++抽象、封裝、繼承、多態等機制和知識娓娓道來,用通俗易懂的語言展開講解,不僅讓讀者知其然,更要讓讀者知其所以然,最終讓這些知識再反作用於編程實踐,幫助讀者寫出高質量的C++代碼。全書涉及面向對象的嵌入式軟件開發的方方面面,具體說來,主要討論包括面向對象語言的特點、MySQL數據庫的應用、QT基礎知識入門及項目開發過程等多個方面的話題。

作者簡介

周穎穎,女,畢業于東南大學。多年從事軟件技術的教學工作,獲得多個省級教學獎項;以第一作者公開發表核心論文1篇,各類教科研論文多篇;主持和參與多項省級和校級教學改革項目、多項科研課題;指導多項省級大學生創新項目,指導學生參加各種省級技能大賽並獲獎。
原著者簡介

結合作者多年嵌入式軟件開發培訓的工作經驗,從職業的可持續發展角度來說:要想成為一名優秀的程序員,不僅要看重“量”,還要看重“質”。
為什麼這麼說呢?因為每一段完整的代碼都是程序員的作品,這段代碼作品的質量直接代表了程序員的編程能力。就好比一位藝術家的藝術成就不是以其作品的數量而是以質量來衡量的。所以,作為一名程序員,無時無刻都要認真地對待自己編寫的每一段代碼。
如果一個程序員只是單純地編寫代碼以完成工作量,那麼對他的職業發展、技術提升並沒有多少好處。開發好的應用是對程序員的基本要求之一,如果編寫的代碼質量不高,也就難以得到用人單位的重視。雖然是一名程序員,但絕不會是一名優秀的程序員。
好多初學者在開始學習編程語言時就瘋狂地敲代碼,這是我們一直提倡的,因為語言的學習過程本身是一個熟能生巧的過程。如果你不能理解代碼的意義,那就不停地寫,寫多了,慢慢地就能理解代碼的意義並能做到融會貫通。但我們後來發現大部分低級程序員普遍存在的問題是:代碼結構混亂、算法效率低,只是停留在解決問題階段,沒有思考如何更好地解決問題。這樣的代碼在入門學習時是完全沒問題的,但是企業卻看不上,因為企業的產品是要給用戶使用的,如果編寫的代碼結構混亂,會導致調試麻煩、效率低,代碼算法不夠高效會導致用戶體驗比較差,企業怎麼會用這樣的代碼呢?所以一個要想成為企業急需的高端人才的程序員來說,雖然是從“量”開始,但在積累的過程中更要注重細節,不僅要堅持語言的學習,還應該深入理解計算機的工作原理,知道如何讓計算機更加高效地工作,同時不斷擴大自己的知識儲備,最終才能寫出高“質”的代碼。
現在,在程序員間流行這樣一句話,就是“大學老師教的,企業不用;企業用的,大學老師不教”。其實這句話說得並不準確,畢竟大學可讓學生們掌握做開發時所需要的理論知識,這些理論知識會為以後的學習和工作奠定良好的基礎。但是,現在學生普遍存在的問題是他們僅僅停留在了理論知識上,甚至連上面說的“量”都沒有達到。這也是我們編寫本書的目的,首先要幫助大家解決編寫代碼“量”的問題,然後在熟練掌握理論知識的基礎上教會大家怎麼能寫出企業重視的高“質”的代碼。“量”和“質”,一直都是我們強調的優秀程序員的必修 之路。
本書從初學者的角度出發,以面向對象程序設計思想為主線,結合實際項目的開發需求,將隱藏在面向對象背後的關於C++的抽象、封裝、繼承、多態等機制和知識娓娓道來,用通俗易懂的語言講解理論知識,不僅讓讀者知其然,更要讓讀者知其所以然,最終讓這些理論知識再反作用於編程的實踐,從而幫助讀者寫出高“質”的C++代碼。全書涉及面向對象的方方面面,具體說來,主要包括面向對象語言的特點、MySQL數據庫的應用、Qt基礎知識入門,以及項目開發過程等多個方面的話題。
本書既可作為高等院校相關專業師生的教材或教學參考書,也可供相關領域的工程技術人員查閱,對於面向對象編程的初學者,也可以使其掌握面向對象編程的特點。
限於作者水平,書中難免有不足之處,敬請廣大讀者批評指正。

作 者
2018年5月

目次

第1章 面向對象概述 (1)
1.1 C++概述 (1)
1.1.1 C++的發展 (1)
1.1.2 為什麼要學習C++ (2)
1.2 面向過程和面向對象 (2)
第2章 C到C++的擴展 (5)
2.1 命名空間 (5)
2.1.1 什麼是命名空間 (5)
2.1.2 命名空間的使用 (6)
2.1.3 命名空間完整示例代碼 (7)
2.1.4 C++標準庫和std命名空間 (8)
2.2 小程序“Hello World” (10)
2.2.1 輸出“Hello World” (10)
2.2.2 C++的輸入和輸出(cin和cout) (10)
2.3 變量定義的位置 (11)
2.4 register關鍵字的變化 (12)
2.5 struct的加強 (13)
2.6 三目運算符的加強 (14)
2.6.1 C與C++中三目運算符的不同 (14)
2.6.2 如何在C語言中實現C++的特性 (14)
2.7 bool類型 (15)
2.8 C/C++中的const (16)
2.8.1 C中的const (16)
2.8.2C++中的const (17)
2.8.3 const與define (18)
2.9 C++中的引用 (20)
2.9.1 引用的概念與基本使用 (20)
2.9.2 引用作為函數參數 (21)
2.9.3 引用作為函數返回值 (23)
2.9.4 指針引用 (24)
2.9.5 常引用 (26)
2.9.6 引用的本質 (27)
2.10 C++內聯函數 (28)
2.10.1 內聯函數的概念和使用 (28)
2.10.2 內聯函數的特點和使用限制 (29)
2.11 C++函數的默認參數 (29)
2.12 C++函數的占位參數 (30)
2.13 C++中的函數重載 (32)
2.13.1 函數重載的概念 (32)
2.13.2 C++函數重載與函數指針 (34)
2.13.3 函數重載的二義性 (35)
2.13.4 函數重載與const形參 (35)
2.14 C++的動態內存分配 (37)
2.14.1 new與delete的基本用法 (37)
2.14.2 拓展:多維數組的動態創建與釋放 (38)
第3章 類和對象 (40)
3.1 面向對象編程介紹 (40)
3.1.1 什麼是面向對象 (40)
3.1.2 面向對象的優點 (40)
3.1.3 面向對象的特點 (41)
3.1.4 總結 (42)
3.2 類和對象 (43)
3.2.1 類和對象的概念 (43)
3.2.2 類的訪問控制 (45)
3.2.3 類的使用案例 (48)
3.2.4 面向對象編程實例 (49)
3.3 對象的構造和析構 (52)
3.3.1 構造函數 (52)
3.3.2 構造函數的重載和調用 (53)
3.3.3 拷貝構造函數 (56)
3.3.4 默認構造函數 (58)
3.3.5 析構函數 (59)
3.3.6 構造函數的參數初始化列表 (60)
3.3.7 對象的動態創建和釋放 (63)
3.4 淺拷貝和深拷貝 (64)
3.4.1 淺拷貝問題分析 (64)
3.4.2 深拷貝 (66)
3.5 靜態成員變量和靜態成員函數 (67)
3.5.1 靜態成員變量 (67)
3.5.2 靜態成員函數 (70)
3.6 C++對象的內存模型 (72)
3.6.1 編譯器對屬性和方法的處理機制 (72)
3.6.2 this指針 (74)
3.6.3 const修飾成員函數 (75)
3.7 友元函數和友元類 (76)
3.7.1 友元函數 (77)
3.7.2 友元類 (80)
3.7.3 友元函數的幾點說明 (82)
第4章 運算符重載 (83)
4.1 概念 (83)
4.1.1 什麼是運算符重載 (83)
4.1.2 運算符重載的使用 (84)
4.2 運算符重載的規則 (89)
4.3 常用的運算符重載 (91)
4.3.1 前置++與後置++的重載 (91)
4.3.2 左移<<與右移>>操作符的重載 (93)
4.3.3 成員函數與友元函數重載的選擇 (97)
4.4 賦值運算符=的重載 (97)
4.5 數組下標運算符[]的重載 (100)
4.6 函數調用運算符()的重載 (103)
4.7 new和delete運算符的重載 (103)
第5章 繼承與派生 (107)
5.1 繼承的概念及語法 (107)
5.1.1 類之間的關系 (108)
5.1.2 繼承關係 (108)
5.1.3 繼承的使用 (108)
5.2 派生類的訪問控制 (110)
5.3 繼承中的對象內存模型 (114)
5.4 派生類的構造函數和析構函數 (115)
5.4.1 派生類的構造函數 (115)
5.4.2 派生類的析構函數 (117)
5.4.3 繼承與組合混搭情況下構造和析構調用原則 (119)
5.5 繼承時的名字遮蔽 (121)
5.6 繼承中的static關鍵字 (123)
5.7 繼承中的類型兼容性原則 (125)
5.8 多繼承 (128)
5.8.1 多繼承的概念 (128)
5.8.2 多繼承中的構造與析構 (129)
5.8.3 多繼承導致的二義性問題 (131)
5.8.4 多繼承時的對象內存模型 (132)
5.9 虛繼承 (135)
5.9.1 虛繼承與虛基類 (135)
5.9.2 虛繼承時的構造函數 (139)
5.9.3 虛繼承時的對象內存模型 (141)
第6章 多態 (143)
6.1 多態的概念與使用 (143)
6.2 虛函數詳解 (147)
6.3 虛析構函數 (149)
6.4 多態的實現機制 (153)
6.4.1 多態原理 (153)
6.4.2 構造函數中調用虛函數能否實現多態 (155)
6.4.3 父類指針操作子類數組 (157)
6.5 多繼承下的多態 (159)
6.6 虛繼承下的多態 (161)
6.7 純虛函數和抽象類 (162)
6.8 typeid運算符 (165)
6.9 靜態綁定和動態綁定 (168)
第7章 模板 (171)
7.1 函數模板 (171)
7.1.1 函數模板語法 (171)
7.1.2 函數模板和函數重載 (176)
7.1.3 函數模板機制 (178)
7.2 類模板 (179)
7.2.1 單個類的類模板語法 (179)
7.2.2 繼承中的類模板語法 (182)
7.2.3 類模板的使用 (184)
7.3 類模板中的關鍵字static (191)
第8章 異常 (193)
8.1 什麼是異常 (193)
8.2 異常的語法 (194)
8.3 異常類型以及多級catch (195)
8.4 throw詳解 (197)
8.5 標準庫異常 (199)
第9章 輸入/輸出流 (201)
9.1 輸入/輸出流介紹 (201)
9.1.1 輸入/輸出流的理解 (201)
9.1.2 流的理解 (202)
9.1.3 為什麼要引用輸入/輸出流 (203)
9.1.4 流的緩衝區 (204)
9.2 標準輸入/輸出流 (205)
9.2.1 標準輸入/輸出流對象 (205)
9.2.2 輸出流的使用 (205)
9.2.3 輸入流的使用 (206)
9.2.4 輸入/輸出格式化 (211)
9.3 文件輸入/輸出流 (215)
9.3.1 文件的打開與關閉 (215)
9.3.2 文件的讀寫 (217)
9.4 字符串流的讀寫 (219)
第10章 標準模板庫STL (222)
10.1 STL概述 (222)
10.1.1 STL基本概念 (222)
10.1.2 容器 (223)
10.1.3 算法 (224)
10.1.4 迭代器 (225)
10.1.5 C++標準庫 (225)
10.2 常用容器 (225)
10.2.1 string (225)
10.2.2 vector容器 (232)
10.2.3 deque容器 (237)
10.2.4 list容器 (240)
10.2.5 map容器 (243)
10.2.6 set容器 (247)
10.3 常用算法 (247)
10.3.1 算法概述 (247)
10.3.2 算法分類 (247)
10.3.3 算法中函數對象和謂詞 (250)
10.3.4 預定義函數對象和謂詞 (255)
10.3.5 函數適配器 (256)
第11章 C++11/14新標準 (259)
11.1 概述 (259)
11.2 實用性加強 (260)
11.2.1 新類型 (260)
11.2.2 統一初始化 (260)
11.2.3 nullptr與constexpr (261)
11.2.4 類型推導 (264)
11.2.5 基於範圍的for循環 (266)
11.2.6 強類型枚舉 (266)
11.2.7 智能指針 (268)
11.2.8 右值引用:移動語義和完美轉發 (275)
11.3 類的加強 (277)
11.3.1 特殊成員函數 (277)
11.3.2 委託構造 (278)
11.3.3 繼承構造 (278)
11.3.4 虛方法管理:override和final (278)
11.3.5 顯示禁用默認函數 (279)
11.4 對模板的加強 (279)
11.4.1 外

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 459
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區