Time of Update: 2018-12-07
多態的形式有: 覆蓋:輸入參數一樣,但對於不同的衍生類別有不同的實現, 其多態體現在運行階段,也就是一個父類的指標可以指向不同的衍生類別對象,調用不同的同名函數。 重載:類的成員函數裡,允許有多個不同參數的同名函數,其多態性體現 一.多態多態(Polymorphism)按字面的意思就是“多種形狀”。引用Charlie
Time of Update: 2018-12-07
簡述: Overlapped I/O也稱Asynchronous I/O,非同步I/O模型。非同步I/O和同步I/O不同,同步I/O時,程式被掛起,一直到I/O處理完,程式才能獲得控制。非同步I/O,調用一個函數告訴OS,進行I/O操作,不等I/O結束就立即返回,繼續程式執行,作業系統完成I/O之後,通知訊息給你。Overlapped I/O只是一種模型,它可以由核心對象(hand),事件核心對象(hEvent), 非同步程序呼叫(apcs) 和完成連接埠(I/O
Time of Update: 2018-12-07
從CxImage中將xfile.h、ximacfg.h、ximadef.h、ximage.cpp、ximage.h、xiofile.h、xmemfile.cpp、xmemfile.h拷貝到工程檔案夾下並將這些檔案加入工程,然後將CxImage各檔案夾下Debug檔案夾中的lib檔案也拷貝到工程下,並在VC中做如下設定 Project Settings |- C/C++ | |- Code Generation | |
Time of Update: 2018-12-07
採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私人成員,成員函數一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函數,這些函數不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函數定義為該函數的友元函數。除了友元函數外,還有友元類,兩者統稱為友元。友元的作用是提高了程式的運行效率(即減少了類型檢查和安全性檢查等都需要時間開銷),但它破壞了類的封裝性和隱藏性,使得非成員函數可以訪問類的私人成員。友元函數 :
Time of Update: 2018-12-07
從網上整理的文章,同樣,這隻是為了我增加理解記憶而做到得筆記,不存在利用價值,純粹是學習和記憶.抄襲也好學習也好只是讓人明白道理.主要幹活的還是自己的程式.I/O裝置處理必然讓主程式停下來乾等I/O的完成,對這個問題有方法一:使用另一個線程進行I/O。這個方案可行,但是麻煩。方法二:使用overlapped I/O。 正如書上所說:“overlapped I/O是WIN32的一項技術, 你可以要求作業系統為你傳送資料,並且在傳送完畢時通知你。
Time of Update: 2018-12-07
/*選擇排序思想:每一次都從無序的資料中找出最小的元素,然後和前面已經有序的元素序列的後一個元素進行交換,這樣整個源序列就會分成兩部分,前面一部分是已經排好序的有序序列,後面一部分是無序的,用於選出最小的元素。迴圈N次之後,前面的有序序列加長到跟源序列一樣長,後面的無序部分長度變為0,排序就完成了。*/unsigned long __stdcall SelectSort(void* theArray){ long* Array =
Time of Update: 2018-12-07
進程、線程、記憶體管理是一個核心最基本的服務,也是一個核心最主要的組成部分。這幾方面的知識是一個軟體開發人員必須掌握的基礎知識。雖然一個人不懂這些知識也能編寫簡單的程式,但這樣的程式只能算是皮毛。掌握了進程、線程和記憶體管理方面的知識,就能夠充分利用作業系統核心提供的服務,提高你編寫的軟體的執行效率、更節省資源、更健壯。順便說一下,在Windows CE.net下可以運行用Visual
Time of Update: 2018-12-07
派生一個 CButtonEx類 重載 OnCreate 利用GDI+貼圖到 按鈕上 int CButtonEx::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CButton::OnCreate(lpCreateStruct) == -1) return -1; CRect rc; GetClientRect(&rc); CDC dc; using namespace Gdiplus;//應用 GDI+前必須的設定
Time of Update: 2018-12-07
STL編程的次要麻煩之一是雖然可以很容易地建立可以在一個平台上編譯的軟體,但在其它平台上則需要附加的#include指示。這個煩惱來自一個事實:C++標準(不像C標準)未能指定哪一個標準標頭檔必須或者可能被其他標準標頭檔#include。由於有了這樣的靈活性,不同的實現就會選擇去做不同的東西。
Time of Update: 2018-12-07
下面是MFC實現的部分關鍵代碼(僅供參考) SendDlg::SendDlg(CWnd* pParent /*=NULL*/) : CDialog(SendDlg::IDD, pParent) { //{{AFX_DATA_INIT(SendDlg) m_Baud = -1; //}}AFX_DATA_INIT CurrentlyDisplayMax = 0; m_Text0 =
Time of Update: 2018-12-07
一、準備工作(PNG圖片透空表單)1、圖片資源準備工作。首先在Photoshop中編輯所用圖片,將這些圖片儲存成為帶透明通道的.png格式(GDI+調用顯示時能夠透明調背景)。這樣程式中圖片資源就準備好了。2、下面開始做好展開此項工作的基本準備工作。建立一個對話方塊應用程式,名稱為Gdi+PNG在VC6.0下的設定:(1)、下載gdiplus
Time of Update: 2018-12-07
VTK有源碼和二進位版本二進位版本,主要包括標頭檔,和庫檔案。主要用於直接使用VTK來開發自己的系統。二進位版本也是源碼版,經過編譯之後得到的如果安裝源碼版本的話,還需要自己編譯,產生DLL或者LIB,特別麻煩。 不過也有些優點,就是我們需要GCC使用的庫,就產生GCC格式的庫;我們需要VC6的庫,就能產生VC6需要的庫。我們需要動態連結程式庫,就產生動態連結程式庫,我們需要靜態連結庫呢?就為我們產生靜態連結庫。不過一般人是不需要編譯原始碼的,因為那個太消耗時間了。建議還是晚上睡覺之前編譯比較合
Time of Update: 2018-12-07
/*利用作業系統提供的API編寫防火牆.該程式涉及到的API說明請訪問微軟的MSDN Library代碼在C++ Builder 5編譯通過如果您想和我交流請email:zzwinner@163.com*/#pragma hdrstop#include "windows.h"#include "Fltdefs.h"//需要載入"iphlpapi.lib"#pragma argsusedint main(int argc, char* argv[]){//一個建立網路包過濾介面INTERFACE_
Time of Update: 2018-12-07
當用二叉鏈表作為二叉樹的儲存結構時,因為每個結點中只有指向其左、右孩子結點的指標,所以從任一結點出發只能直接找到該結點的左、右孩子。在一般情況下靠它無法直接找到該結點在某種遍曆次序下的前驅和後繼結點。如果在每個結點中增加指向其前驅和後繼結點的指標,將降低儲存空間的效率。與此同時,我們可以證明:在n個結點的二叉鏈表中含有n+1個null 指標。因為含n個結點的二叉鏈表中含有2n個指標,除了根結點,每個結點都有一個從父結點指向該結點的指標,因此一共使用了n-1個指標,所以在n個結點的二叉鏈表中含有2
Time of Update: 2018-12-07
一直以來都用GNOME,蠻喜歡它的風格。今天好奇裝了下KDE,介面挺漂亮的。就不是習慣,而且比GNOME慢很多,不知道是不是我電腦本身的問題。一句命令搞定,需要下載130M,安裝後需要佔用空間550Msudo apt-get install kubuntu-desktop下載完成 後,終端自動進行配置,之後變成一個藍屏的文字視窗,詢問要選擇Kdm 還是gdm,這裡只是開機登陸窗是KDE的還是GNOME的差別而已。這樣安裝後的KDE介面是英文的,所以再安裝中文語言。sudo apt-get
Time of Update: 2018-12-07
許久不在這裡寫日誌了。因為申請了個人首頁,使用phpMyAdmin維護遠程MySQL的,所以,自己在本地也搭建一個環境,但無論如何都不能成功,總會出現用戶端不支援認證協議的提示,所以找到MySQL的文檔研究了一下,記錄下來。MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older
Time of Update: 2018-12-07
利用VTK庫開發基於MFC的應用程式在用VTK庫時,感覺很難開發出MFC的應用程式,VTK提供的vtkMFCWindow類封裝的太死,在參考vtkMFCWindow類的實現方式後,通過改造單文檔應用程式中的View類,直接在View類中就能響應MFC訊息,同時又能利用VTK庫本身的東西。在我的例子中,能開啟VTK格式檔案,同時能用滑鼠進行移動旋轉,縮放等操作,而且響應右鍵菜單,插入一個3ds檔案。主要修改地方:在HBVRView.h中增加成員變數和函數:public: vtkRenderer*
Time of Update: 2018-12-07
Win32重疊I/O(Overloapped I/O)機制允許發起一個操作,然後在操作完成之後接受到資訊。對於那種需要很長時間才能完成的操作來說,重疊I/O機制尤其有用,因為發起重疊操作的線程在重疊請求發出後就可以自由地做別的事情了。 在Windows NT/2000上,提供真正可擴充的I/O模型就是使用完成連接埠(Completion Port)的重疊I/O。 ……
Time of Update: 2018-12-07
題目描述 搜 索引擎是靠 Web Robot (又稱 Spider )來收集互連網上浩如煙海的網頁的。 Spider 就像一個旅行家一般,不知疲倦地奔波於全球資訊網的空間,將遇到的頁面收集下來供搜尋引擎索引。對於一個網站的管理員來說,如果希望搜尋引擎只收錄自己指定的 內容,或者指定某些不希望搜尋引擎訪問的內容,該如何去做呢?他需要的就是 Robots Exclusion Protocol 協議,這裡簡單的稱它做 Robots.txt 協議。 Robots.txt
Time of Update: 2018-12-07
CString 是一種很特殊的 C++ 對象,它裡麵包含了三個值:一個指向某個資料緩衝區的指標、一個是該緩衝中有效字元記數(它是不可存取的,是位於 CString 地址之下的一個隱藏地區)以及一個緩衝區長度。 有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數(因為字串結尾有一個NULL字元)。字元記數和緩衝區長度被巧妙隱藏。(1) char*轉換成CString 若將char*轉換成CString,除了直接賦值外,還可使用CString::Format進行。例如: