原创 類與對象:類的組合
在對現實中的某些事物抽象成類時,可能會形成很複雜的類,爲了更簡潔的進行軟件開發,我們經常把其中相對比較獨立的部分拿出來定義成一個個簡單的類,這些比較簡單的類又可以分出更簡單的類,最後由這些簡單的類再組成我們想要的類。比如,
原创 最大子列和問題(分治法和在線處理)
時間複雜度太大,該算法不可取。 該時間複雜度爲O(N),一般遇到爲次複雜度的可以考慮改進算法,使其複雜度爲O(logN),將會有大的改善。 分治法在每一層遞歸上都有三個步驟: 分解:將原問題分解
原创 函數的參數傳遞與內聯函數
一.函數的參數傳遞 函數參數的傳遞有兩種方式,值調用和引用調用。 1.值調用 值調用就是調用函數時,給形參分配內存空間,將實參拷貝給形參,之後的函數執行中形參和實參就脫離了關係,誰都
原创 動態鏈接庫(從DLL中導出C++類)
以Dll1爲例,打開Dll1工程,在Dll1.h文件中添加如下代碼: class Dll1_API Point { public: void output(int x,int y); }; 爲
原创 類與對象:類模板
類模板的指導思想跟函數模板類似。 代碼複用是面向對象設計中的重要的軟件開發思想,對於軟件開發效率很是關鍵。怎樣做好代碼複用呢?越是通用的代碼越好複用,將類型作爲參數,這種程序設計類型就是參數化程序設計。模板就是C++進行
原创 C++程序設計必知:類的靜態成員
函數之間共享數據也就是此函數訪問彼函數的數據主要是通過局部變量、全局變量、類的數據成員、類的靜態成員及友元實現的。靜態成員包括靜態數據成員和靜態函數成員。 1.靜態數據成員 一般的類的數據成
原创 類與對象:構造函數和析構函數
某個類的對象之間都有哪些不同呢?首先是對象名不同,其次就是對象的數據成員的值不同。我們在聲明一個對象時,也可以同時給它的數據成員賦初值,稱爲對象的初始化。 1.構造函數 我們在聲明一個變量時
原创 重載函數與函數模板
一.重載函數 現實生活中的一個詞可能有多種含義,比如,洗衣服、洗頭、洗車,都有一個洗字,但是他們的操作方式是不一樣的。函數也一樣,有時候它們的操作不完全一樣但是名字一樣,這就是重載函數。 重載函數
原创 static的全面理解(C部分)
出現位置:第一輪基礎類筆試或技術一面 難度係數:低 相關題目: (1)列出所有你對static的理解,所有的! (2)談談你對static的理解(C部分,或者C++部分)。 考點分析: (1)C語言基礎知識。static。 (2)
原创 C++程序設計必知:作用域和可見性
這些必知的知識包括作用域、可見性和生存期,還有局部變量、全局變量、類的數據成員、靜態成員及友元和數據等。作用域是用來表示某個標識符在什麼範圍內有效,可見性是指標識符是否可見,可引用。 1.作用域
原创 C++程序設計必知:友元
一種共享數據方式--友元。友元是一種破壞類的封裝性獲取類的隱藏數據的方式。 如果有以下程序: class A { public: in
原创 鏈式存儲面試題-單鏈表反轉
出現位置:第一輪基礎類筆試或技術一面 難度係數:中 面試題目: 實現一個單鏈表的反轉。例如: 10 9 8 7 6 5 4 3 2 1 反轉後應該爲: 1 2 3 4 5 6 7
原创 遞歸調用
遞歸調用就是函數直接或間接的調用自身。調用自身就是指在一個函數的函數體中出現了對自身的調用語句。直接調用自身如:void fun(void) { ...; fun(); ...}。間接調用自身如:void fun1
原创 LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main(全)
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 解決方法:控制檯項目要使用windows子系統, 而不是console, 設置: [Project