原创 單鏈表的建立,測長,打印,刪除,插入,排序,逆置

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