原创 const用法講解

const 修飾符與類型指針的用法合集:以char*爲例。1、char* const ptr  ----const修飾符在*右邊,修飾的是ptr,表明指針是個常量,這就是常指針,不能修改。                         

原创 c++中動態綁定和繼承

(1)動態綁定也叫多態性,要掌握從派生類到基類的轉換,使用指針或引用來實現。 引用或指針既可以指向基類對象,也可以指向派生類對象。只有通過引用或指針調用虛函數纔會發生動態綁定。 (2)c++中有三種繼承方式:公有。私有和受保護繼承。 最常

原创 字符串系列之strlen函數

常用字符串處理函數有以下幾種:strlen   strncpy   strcpy   strncat    strcat   strncmp   strcmp   strstr。這裏首先介紹strlen函數。1.strlen(const

原创 面試題8:求旋轉數組的最小數字的c++代碼實現

題目:把一個數組最開始的若干個元素搬到數組的末尾,稱之爲數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。c++代碼實現:int M

原创 如何設計類,可以使得文件間的編譯依存關係降至最低

方法一:使用pimpl idiom(pointer to implementation)的類,常被稱爲 Handle classes.將類分割爲兩個類,一個只提供接口,另一個負責實現該接口。分離的關鍵在於以“聲明的依存性”替換“定義的依存

原创 MFC拖拽

 在日常的程序中,爲了操作的方便,經常需要使用鼠標拖拽的方式把文件管理器中的文件拖拽到我們自己寫的程序中,以下就簡單介紹以下實現該操作的方法。        其實文件管理器的拖拽方式實現起來很簡單,主要通過幾個函數來實現,消息WM_DRO

原创 面試題5:從尾到頭打印鏈表的c++代碼實現

題目:輸入一個鏈表的頭結點,從尾到頭反過來打印出每個結點的值。鏈表結點的定義如下:struct ListNode { int m_nKey; ListNode m_pNext; };思路分析:解決這個問題要遍歷鏈表。

原创 c標準庫打開文件的格式

打開文件格式說明 打開方式 說明 r 以只讀方式打開文件,該文件必須存在。 r+ 以讀/寫方式打開文件,該文件必須存在。 rb+ 以讀/寫方式打開一個二進制文件,只允許讀/寫數據。 rt+ 以讀/寫方式打開一個文本文

原创 面試題6:重建二叉樹,輸入某二叉樹的前序遍歷和中序遍歷的結果,重建出該二叉樹。

假設輸入的前序遍歷和中序遍歷的結果中都不含重複數字。例如:輸入前序遍歷序列{1,2,4,7,3,5,6,8},和中序遍歷序列{4,7,2,1,5,3,8,6}要求重建出該二叉樹,並輸出其頭結點。二叉樹結點的定義如下:struct Bina

原创 面試題7:用兩個棧實現隊列的c++代碼實現

題目:用兩個棧實現一個隊列。隊列的聲明如下,請實現它的兩個函數appendTail和deleteHead。分別完成在隊列尾部插入結點和在隊列頭部刪除結

原创 C++中內存分配和釋放的函數

c語言的標準內存分配函數有:malloc,calloc,realloc,free等。 c++的內存分配和釋放函數爲new和delete。 下面對alloca、malloc、calloc、realloc等函數進行詳細說明。 alloca是向

原创 c++中atoi、substr、c_str用法詳解

最近寫程序中用到這幾個函數,下面將這幾個函數的用法總結如下:1.atoi函數。功能:將字符串轉換成長整型數。用法:int atoi(const char *nptr)示例代碼如下:#include <stdio.h> #include <

原创 用c++編寫程序。在小於99999的正整數中找符合下列條件的數,它既是完全平方數,又有兩位數字相同。

一、題目解析 要找出的數顯然需要滿足三個條件: 1.數的範圍是從1-99999.的整數。 2.數滿足是完全平方數。 3.數中有兩位數字相同。 二、編程思路:簡化條件的限制,直接對一個數的平方做循環,並讓平方數滿足該範圍。判斷兩位數字相同可

原创 c++中類的內存分佈

#include <iostream> using namespace std; class A{ public:long a; }; class

原创 派生類的構造函數和析構函數的調用

派生類的構造函數調用:先執行基類的構造函數,並不是以構造函數的初始化列表爲準,而是以聲明構造函數時基類的順序爲準。再執行成員對象的構造函數,最後執行