原创 MFC六大關鍵技術之消息映射與命令傳遞(五,六)

題外話:剛開始學視窗程序設計的時候,我就打印了一本Windows消息詳解,裏面列舉了各種已定義消息的意義和作用,共10多頁,在編程的時候翻翻,有時覺得

原创 C總能讓我想起什麼(1)——指針常量的使用

1,要對絕對地址0x100000進行賦值      解:(usigned int *)0x100000=1234; 2,讓程序跳轉到絕對地址0x100000去執行     解:*((void (*)())0x100000)

原创 二叉樹(1)——定義,性質及結構

一  二叉樹定義: 滿足以下三個條件 1,根節點 2,去跟,分成兩個不相交的集合TL和TR 3,TL和TR也爲二叉樹(遞歸定義) 二 基本形態: 由三個節點構成的二叉樹的個數 三 性質: 1,第i層有2^(i-1)個節點 2,深度爲

原创 C++總是能讓我想起什麼(5)——指針變量的引用

void CreateBiTree(struct BiTree* &T) { char data; cin>>data; if (data=='#') { T=NULL; } else { T=new struc

原创 二叉樹(2)——基本操作

#include<iostream> using namespace std; const int step=20; //二叉鏈表 struct BiTree { char data; struct BiTree *LChild,*R

原创 C++總是能讓我想起什麼(4)——C++輸入輸出流

C++輸入輸出流 流(文本流,二進制流) 文本流——一串ASCII碼 二進制流——按二進制格式存放的數據(內存映像) 列:整數123 存於文本文件中佔3個字節,‘1’,‘2’,‘3’ 存於二進制文件中佔4個字節,1111011 數據文件

原创 棧(1)

#include<iostream> using namespace std; const int stackinitsize=100; const int stackincrement=10; typedef struct { ch

原创 MFC基本層次結構

1,CObjectCObject是大多數MFC類的根類或基類。CObject類有很多有用的特性:對運行時類信息的支持,對動態創建的支持,對串行化的支持,對象診斷輸出,等等。MFC從CObject派生出許多類,具備其中的一個或者多個特性。程

原创 2011-7-29-14-20

翻開大二上學期得書《Visual C++》應用教程,發現裏面講了好多C++特殊語法,還有高級特性,不禁感慨,我怎麼不知道這本書上還講了這些內容,暈

原创 MFC六大關鍵技術之(四)——永久保存(串行化)

先用一句話來說明永久保存的重要:弄懂它以後,你就越來越像個程序員了! 如果我們的程序不需要永久保存,那幾乎可以肯定是一個小玩兒。那怕我們的記事本、畫圖等小程序,也需要保存纔有真正的意義。 對於MFC的很多地方我不甚滿意,總覺得它喜歡拿一組

原创 C++總是能讓我想起什麼(2)——動態綁定與上行轉換

#include<iostream> using namespace std; class CParent { public: void print1(); virtual void print2(); }; class CChil

原创 C++總是能讓我想起什麼(3)——C++的幾種類型轉換

C++的幾種類型轉換 1)static_cast<T*>(a) 將地址a轉換成類型T,T和a必須是指針、引用、算術類型或枚舉類型。 表達式static_cast<T*>(a), a的值轉換爲模板中指定的類型T。在運行時轉換過程中,不進行

原创 C++總是能讓我想起什麼(6)——C++內聯函數的使用

#include<iostream> #define PrintA(a) printf("%d",a) using namespace std; inline void Print(int a) { printf("%d\n",a);

原创 MFC六大關鍵技術之(三)——動態創建

動態創建就是運行時創建指定類的對象,在MFC中大量使用。如框架窗口對象、視對象,還有文檔對象都需要由文檔模板類對象來動態的創建。我覺得這是每個MFC的學習者很希望理解的問題。 初次接觸MFC的時候,很容易有這樣的迷惘。MFC的幾大類不用我

原创 二叉樹(3)——線索化

#include<iostream> using namespace std; //線索標誌,鏈表標誌 typedef enum Flag { Link, Thread }TFlag; //線索二叉樹 typedef struct B