原创 單鏈表的建立,測長,打印,刪除,插入,排序,逆置
1、編程實現一個單鏈表的建立/測長/打印。 答案:#include<iostream>using namespace std;//單鏈表結構體typedef struct student{ int data;
原创 堆 棧 區別
堆和棧的區別一、預備知識—程序的內存分配一個由c/C++編譯的程序佔用的內存分爲以下幾個部分1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。2、堆區(heap) — 一般
原创 純虛函數及抽象類
一、 純虛函數 純虛函數是一個在基類中聲明的虛函數,它在該基類中沒有定義,要求任何派生類都必須定義自己的版本。 一般格式如下: class <類名> { virtual <類型><
原创 一些CEdit使用方法
1、如何讓編輯框只能輸入數字? VS2005以上,只要將EditControl的Number屬性設爲TRUE即可。 2、CEdit控件如果沒有選定多行和wantreturn屬性時,按下enter鍵會調用OnOk()函數,對話框則會消失~
原创 多重繼承構造函數執行順序
class 派生類名:繼承方式1 基類名1,繼承方式2 基類名2,.... { //派生類成員定義 }; 對每個基類可以用不同的繼承方式,默認繼承方式爲private。 在多重繼承中,派生類的構造函數與單繼承下派生
原创 combox運用addstring增加選項,發現顯示的順序和添加的不一樣,怎麼辦?
默認情況下,combox具有排序的功能,打開combo控件的屬性對話框,選擇Style,把sort置爲false即可~
原创 如何將4個字節的int轉爲1個字節的BYTE?
int i=0x00000001; 要取得最後一個字節的0x01? BYTE ret; BYTE *ptr; ptr=(BYTE*)(&i); ret=*ptr; //小端內存 #########################
原创 構造函數與虛析構函數
1. 構造函數 因爲在派生類中構造函數是不能繼承的,也沒有重定義的必要。在構造函數中調用虛函數將破壞動態綁定邏輯。下面的例子說明了這樣動態綁定邏輯。 例: #include<iostream.h
原创 對象數組和指向對象的指針 指向類成員的指針
1 對象數組 對象數組是指數組元素爲對象的數組。這種對象數組與其它數據類型的數組定義方式相同。如: X a[10]; 它創建了一個對象數組a,有10個數組元素,每個數組元素a
原创 排序 : 2 插入排序
2 插入排序 a直接插入排序 直接插入排序(Straight Insertion Sorting)的基本思想是:把n個待排序的元素看成爲一個有序表和一個無序表,開始時有序表中只包含一個元素,無序表中包含有n-1個元素,排序過程 中每次
原创 拷貝構造函數 賦值構造函數
copy構造函數被用來"以同型對象初始化自我對象", copyassignment 操作符被用來"從另一個同型對象中拷貝其值到自我對象" : class Widget { public: Widget();
原创 explicit
class B ( public: explicit B(int x = 0, bool b = true); }; class C { public: explicit C (int x); }; 上述的classes B 和C 的構造
原创 CTreeCtrl點擊鼠標處理?
TVN_SELCHANGED比較好用 NM_CLICK
原创 extern
爲什麼標準頭文件都有類似以下的結構? #ifndef __INCvxWorksh #define __INCvxWorksh #ifdef __cplusplus extern "C" { #endif /*...*/
原创 函數重載與重複聲明
一個函數在一個特定的域中被多次聲明時,編譯器解析第二個及後面函數依照下面步驟: 1.參數個數或類型不同,則認爲是重載 // 重載函數 void print( const string & ); void print( vecto