編輯推薦
300多道麵試真題,本書匯總國內外眾多著名IT企業近幾年的C++麵試筆試真題並予以解析,按知識點類型對常見的C++語言難點和疑點進行瞭係統歸納和透徹剖析,並提供瞭一定數量的自測題便於自我檢驗。
內容簡介
本書匯總國內外眾多著名IT企業近幾年的C++麵試筆試真題並予以解析,按知識點類型對常見的C++語言難點和疑點進行瞭係統歸納和透徹剖析,並提供瞭一定數量的自測題以便於讀者自我檢驗。
全書邏輯清晰,通俗易懂,適閤參加IT企業校園招聘和筆試麵試環節的同學復習,也適閤C++語言編程愛好者和在校學生閱讀與提高。
作者簡介
李春葆:武漢大學教授,主要研究方嚮為數據挖掘和算法設計,從事近30年計算機C/C++語言、數據結構和算法設計等課程的第一綫本科教學工作,具備豐富的教學經驗,曾參於深圳名企的筆試和麵試題庫建設。齣版多本C/C++語言、數據結構、算法設計與分析及數據庫開發方麵的精品教材和教學輔導書。
李筱馳:
美國俄亥俄州立大學計算機科學專業碩士畢業,曾參加榖歌等名企麵試,具備比較豐富的企業筆試和麵試經驗。目前在西雅圖*總部工作。
目錄
第1章 C++中的C 1
常見考點 1
1.1 類型係統和類型安全 1
1.1.1 要點歸納 1
1.1.2 麵試真題解析 3
1.2 const和volatile 4
1.2.1 要點歸納 4
1.2.2 麵試真題解析 6
1.3 C++的顯式類型轉換 7
1.3.1 要點歸納 7
1.3.2 麵試真題解析 9
1.4 內存管理 10
1.4.1 要點歸納 10
1.4.2 麵試真題解析 13
1.5 C++函數設計 15
1.5.1 要點歸納 15
1.5.2 麵試真題解析 22
1.6 斷言 27
1.6.1 要點歸納 27
1.6.2 麵試真題解析 27
1.7 自測題和參考答案 28
1.7.1 自測題 28
1.7.2 參考答案 31
第2章 類和對象Ⅰ 33
常見考點 33
2.1 類 33
2.1.1 要點歸納 33
2.1.2 麵試真題解析 48
2.2 靜態成員和靜態對象 57
2.2.1 要點歸納 57
2.2.2 麵試真題解析 60
2.3 對象指針 62
2.3.1 要點歸納 62
2.3.2 麵試真題解析 64
2.4 對象數組 66
2.4.1 要點歸納 66
2.4.2 麵試真題解析 69
2.5 this指針 70
2.5.1 要點歸納 70
2.5.2 麵試真題解析 76
2.6 對象之間的復製 78
2.6.1 要點歸納 78
2.6.2 麵試真題解析 82
2.7 自測題和參考答案 85
2.7.1 自測題 85
2.7.2 參考答案 91
第3章 類和對象Ⅱ 94
常見考點 94
3.1 常對象和常對象成員 94
3.1.1 要點歸納 94
3.1.2 麵試真題解析 98
3.2 C++中的explicit 101
3.2.1 要點歸納 101
3.2.2 麵試真題解析 102
3.3 子對象 103
3.3.1 要點歸納 103
3.3.2 麵試真題解析 108
3.4 嵌套類和局部類 109
3.4.1 要點歸納 109
3.4.2 麵試真題解析 111
3.5 自測題和參考答案 114
3.5.1 自測題 114
3.5.2 參考答案 117
第4章 友元和運算符重載 119
常見考點 119
4.1 友元函數 119
4.1.1 要點歸納 119
4.1.2 麵試真題解析 124
4.2 友元類 126
4.2.1 要點歸納 126
4.2.2 麵試真題解析 127
4.3 運算符重載概述 128
4.3.1 要點歸納 128
4.3.2 麵試真題解析 130
4.4 運算符重載設計 132
4.4.1 要點歸納 132
4.4.2 麵試真題解析 146
4.5 兩個類對象之間的轉換 154
4.5.1 要點歸納 154
4.5.2 麵試真題解析 156
4.6 自測題和參考答案 157
4.6.1 自測題 157
4.6.2 參考答案 162
第5章 模闆和異常處理 166
常見考點 166
5.1 函數模闆 166
5.1.1 要點歸納 166
5.1.2 麵試真題解析 172
5.2 類模闆 175
5.2.1 要點歸納 175
5.2.2 麵試真題解析 182
5.3 異常處理 183
5.3.1 要點歸納 183
5.3.2 麵試真題解析 188
5.4 自測題和參考答案 190
5.4.1 自測題 190
5.4.2 參考答案 192
第6章 繼承和派生 193
常見考點 193
6.1 繼承和派生基礎 193
6.1.1 要點歸納 193
6.1.2 麵試真題解析 204
6.2 基類對象和派生類對象的使用關係 217
6.2.1 要點歸納 217
6.2.2 麵試真題解析 220
6.3 虛繼承 227
6.3.1 要點歸納 227
6.3.2 麵試真題解析 238
6.4 自測題和參考答案 242
6.4.1 自測題 242
6.4.2 參考答案 248
第7章 虛函數和多態性 251
常見考點 251
7.1 虛函數 251
7.1.1 要點歸納 251
7.1.2 麵試真題解析 266
7.2 純虛函數和抽象類 289
7.2.1 要點歸納 289
7.2.2 麵試真題解析 291
7.3 自測題和參考答案 294
7.3.1 自測題 294
7.3.2 參考答案 300
精彩書摘
第3章·
類和對象Ⅱ
* 常對象的使用方法。
* 常數據成員和常成員函數的使用方法。
* mutable數據成員的特點。
* 構造函數中初始化列錶的使用方法。
* explicit關鍵字的作用。
* 子對象的使用方法。
* 使用類前嚮引用聲明的情況。
* 子對象構造函數的設計和執行次序。
* 靜態子對象的特點。
* 嵌套類和局部類的設計方法與作用。
3.1 常對象和常對象成員
3.1.1 要點歸納
1.常對象
常對象是指對象常量,其一般定義格式如下:
類名 const 對象名;
或者
const 類名 對象名;
? 在使用常對象時需要注意以下幾點:
? 在定義常對象時必須進行初始化。
? 常對象的數據成員不能被更新。
? 如果一個對象被定義為常對象,則不能調用該對象的非const成員函數,否則會報錯。這樣做是為瞭防止非const成員函數修改常對象中的數據成員值,因為const成員函數是不可以修改對象中的數據成員值的。
2.常對象成員
常對象成員包括常數據成員和常成員函數。
常數據成員
類的成員數據可以是常量和常引用,使用const定義的數據成員為常數據成員。如果在一個類中定義瞭n個常數據成員,那麼如何給它們賦初值呢?隻能通過構造函數,並且構造函數隻能通過成員初始化列錶來實現,其一般格式如下:
構造函數(參數錶):常數據成員1(參數1),常數據成員2(參數2),…, 常數據成員n(參數n)
{ … }
其中,冒號後麵是一個成員初始化列錶,它包含一個初始化項,當有多個初始化項時要用逗號分隔開。在執行構造函數時自動將“常數據成員1”賦值為“參數1”的值、“常數據成員2”賦值為“參數2”的值、…、“常數據成員n”賦值為“參數n”的值。
對成員初始化列錶的深入討論
實際上,對於類的非常數據成員也可以通過構造函數的成員初始化列錶來初始化,隻不過非常數據成員還可以在構造函數體內賦值,成員初始化列錶是直接調用拷貝構造函數來完成的。
帶成員初始化列錶的構造函數的執行順序是這樣的:先執行初始化列錶,再執行函數體,對於含有多個初始化項的列錶不是按照從左到右或者從右到左的順序執行,而是按照數據成員在類中定義的順序執行的。例如有以下程序:
#include
class Test
{ int a,b;
const int x; //常數據成員
public:
Test(int i,int j,int k):x(i),a(b),b(j) { b=k; } //構造函數
void display()
{
cout << "a=" << a << ",b=" << b << ",x=" << x << endl;
}
};
void main()
{ Test s(1,2,3);
s.display();
……
前言/序言
前 言
C++語言是C語言的擴展,是一種基礎的麵嚮對象的編程語言,提供瞭類、模闆、函數重載和運算符重載設計等功能,充分支持抽象、繼承和多態等麵嚮對象程序設計的特徵,方便大型軟件的開發。
相比C語言,C++語言中的概念眾多,掌握難點更高。實際上C++對象在內存中的存儲組織結構是核心,隻要抓住瞭這個綱,對其他概念的理解就會迎刃而解。本書就是以它提綱挈領,係統歸納C++語言常見的知識要點,匯總國內外眾多著名IT企業近幾年的C++麵試筆試真題並予以解析,透徹剖析瞭難點和疑點。
本書不是麵嚮初學者,而是以知識點提綱挈領,章節之間難免會齣現要點重復的現象,敬請讀者諒解。書中側重C++語言的語法,相關算法設計在本叢書的其他書中討論。另外,為瞭方便閱讀,對於部分企業麵試筆試中的文字和代碼在格式上做瞭調整。書中程序在VC++ 6.0環境中調試通過(個彆程序在Dev C++中調試)。
在編寫過程中參考瞭眾多網站和博客,對此無法一一列齣,編者對其作者錶示衷心感謝。
限於編者水平,書中難免存在遺漏,懇請讀者批評指正。
編 者
2017年10月
直擊招聘 程序員麵試筆試C++語言深度解析(直擊招聘) 下載 mobi epub pdf txt 電子書 格式