Time of Update: 2018-12-03
public class Factory { public virtual void Free() { Console.WriteLine("Factory.Free"); } public virtual void Init() {
Time of Update: 2018-12-03
以下轉載自:http://fesir.itpub.net/post/4728/183624 http://www.cublog.cn/opera/showart.php?blogid=18478&id=107917在c++Template中很多地方都用到了typename與class這兩個關鍵字,而且好像可以替換,是不是這兩個關鍵字完全一樣呢?相信學習C++的人對class這個關鍵字都非常明白,class用於定義類,在模板引入c++後,最初定義模板的方法為:template<cla
Time of Update: 2018-12-03
我們在寫Remoting程式或者其他的一些應用程式的時候難免要和線程打交道,.Net使我們很容易就可以建立一個線程,但是它提供的建立線程和啟動線程的方法沒有明顯的提供參數,假如我們要用線程來啟動類裡面一個帶參數的方法該怎麼辦?下面就簡單的介紹如何使用.NET提供的豐富的架構來實現這個功能。為了可以生動詳細的介紹整個過程,我建立下面的一個.NET類,它也是要用線程啟動的方法的載體。類如下所示:using System; namespace WindowsApplication1{
Time of Update: 2018-12-03
一. C# 中靜態調用C++動態連結 1. 建立VC工程CppDemo,建立的時候選擇Win32 Console(dll),選擇Dll。 2. 在DllDemo.cpp檔案中添加這些代碼。extern "C" __declspec(dllexport) int Add(int a,int b){ return a+b;} 3. 編譯工程。 4. 建立新的C#工程,選擇Console應用程式,建立測試程式InteropDemo 5.
Time of Update: 2018-12-03
在《爬蟲/蜘蛛程式的製作(C#語言)》一文中,已經介紹了爬蟲程式實現的基本方法,可以說,已經實現了爬蟲的功能。只是它存在一個效率問題,下載速度可能很慢。這是兩方面的原因造成的:1.分析和下載不能同步進行。在《爬蟲/蜘蛛程式的製作(C#語言)》中已經介紹了爬蟲程式的兩個步驟:分析和下載。在單線程的程式中,兩者是無法同時進行的。也就是說,分析時會造成網路空閑,分析的時間越長,下載的效率越低。反之也是一樣,下載時無法同時進行分析,只有停下下載後才能進行下一步的分析。問題浮出水面,我想大家都會想到:把分
Time of Update: 2018-12-03
早上看到的文章,現在也轉載出來,以下轉載自:http://blog.csdn.net/dongfengsun/archive/2007/02/05/1502916.aspx 原文地址:http://www.cppblog.com/fwxjj/archive/2007/01/25/17996.html 多態性 (polymorphism) 是物件導向編程的基本特徵之一。而在C++ 中,多態性通過虛函數 (virtual function) 來實現。我們來看一段簡單的代碼:#include &
Time of Update: 2018-12-03
最近接受一項新的有挑戰性的工作,那就是擷取msn的連絡人,並實現msn的操作。 private XihSolutions.DotMSN.Messenger messenger = new Messenger(); protected void Page_Load(object sender, EventArgs e) { // by default this example will emulate the official
Time of Update: 2018-12-03
以下都是在網上查到的c/c++學習的論壇和網址,今天記下來了。呵呵。o(∩_∩)o...孫鑫vc視頻教程 http://www.codeguru.cn/VC%26MFC/sunxinvc C函數執行個體參考手冊 http://www.codeguru.cn/CPP/CExample/ C/C++執行個體參考手冊 http://www.codeguru.cn/CPP/cppExample/ Win32Api執行個體參考手冊 http://www.codeguru.cn/VC%26MFC/Win3
Time of Update: 2018-12-03
String.IndexOf 方法 (Char, [startIndex], [count])報告指定字元在此執行個體中的第一個匹配項的索引。搜尋從指定字元位置開始,並檢查指定數量的字元位置。參數value要尋找的 Unicode 字元。 對 value 的搜尋區分大小寫。startIndex(Int32)可選項,搜尋起始位置。不設定則從0開始。count(Int32)可選項,要檢查的字元位置數。 傳回值如果找到該字元,則為 value 的索引位置;否則如果未找到,則為
Time of Update: 2018-12-03
第一:private, public, protected 訪問標號的存取範圍。private:只能由1.該類中的函數、2.其友元函數訪問。不能被任何其他訪問,該類的對象也不能訪問。protected:可以被1.該類中的函數、2.子類的函數、以及3.其友元函數訪問。但不能被該類的對象訪問。public:可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。 註:友元函數包括3種:設為友元的普通的非成員函數;設為友元的其他類的成員函數;設為友元類中的所有成員函數。
Time of Update: 2018-12-03
在C++中重載、覆蓋、隱藏很讓人迷糊,剛開始接觸C#的時候關於這個用法也讓我轉了一陣子,今天有時間把我對他們的理解記錄了下來,還請各位指正。在C++中他們是這樣定義的:概念範圍參數基類中為virtual?重載overload同一個類中不同y/n覆蓋override繼承相同y隱藏hide繼承相同n不同y/n 覆蓋和重寫(override)是一個意思: 主要是指你在基類裡面定義了一個virtual函數,在衍生類別中重新實現了這個函數.這就叫覆蓋或者重寫 隱藏有兩種情況:
Time of Update: 2018-12-03
This關鍵字的另一種用法是使用一項名為建構函式鏈的技術來設計類。當定義了多個建構函式時,這個設計模式就會很有用。由於建構函式通常會驗證傳入的參數來強制各種商務規則,所以在類的建構函式集合中經常會找到冗餘的驗證邏輯。考慮如下更新後的Motocycle:Class Motorcycle{Public int driverIntensity;Public string driverName;Public Motorcycle(){}//冗餘的建構函式邏輯Public Motorcycle(int
Time of Update: 2018-12-03
前言:熟悉C語言的朋友應該對宏不陌生, 宏在C語言程式開發中是經常使用的,使用其的主要目的是方便程式員的編程工作,並且能在一定程度上提高程式的效率。C語言中提供的宏定義命令是#define。下面就使用宏的幾個小細節進行一些討論。1,宏中使用()在宏中,盡量多使用(),不要覺得無所謂或者覺得使用不使用沒有什麼影響。請切記,在宏中盡量多使用(),這樣才能盡量的保證你的宏的正確性。舉個例子:#define CAL(x,y) x+yCAL(2,4)×CAL(2,5)程式員的本意可能是要計算(2+4)
Time of Update: 2018-12-03
傳統C語言異常處理機制傳統的C語言異常處理,一般情況下為被調用者通過設定不同的傳回值或者設定一個表示錯誤的全域變數值,以代表執行正常或者是發生了各種各樣的錯誤,異常,警告等等。而調用者則通過被調用者的傳回值來判斷是否發生了異常,並對異常進行處理。以下是這種處理方式的簡單樣本:fun1(){....int result=fun2();switch(result){case 1 ....case 2 ........}....}fun2(){.... .... return -1;........
Time of Update: 2018-12-03
Const1、const 成員函數不能修改成員變數的狀態(即成員變數的值不能修改);const 對象不能調用非const的成員方法,若是想在const成員函數中修改成員變數的狀態,則可以把該變數聲明的時候加上mutable關鍵字2、const 引用只能指向const變數(即常量),const int n = 11; const int& ref = n; ------->ok,int& ref = n;--------------------------------
Time of Update: 2018-12-03
廢話少說,直接上代碼.h就不貼出來了 註解部分來自某博文 對理解很有協助,所以拿過來一下#include "ArraySh.h"#include <iostream>using namespace std;ArraySh::ArraySh(int size){data = new long[size];items = 0;}ArraySh::~ArraySh(){delete data;}void ArraySh::insert(long d){data[items++] =
Time of Update: 2018-12-03
/************************************************* Function: set_ipaddr Description: set ip addr Input: net_dev ipaddr Output: Return: 0 sucess -1 failed Others: *************************************************/int set_ipaddr(const char
Time of Update: 2018-12-03
/************************************************* Function: get_ipaddrDescription: get ip addr Input: net_dev ipaddrOutput: Return: 0 sucess -1 failedOthers: *************************************************/int get_ipaddr(const char *net_dev,
Time of Update: 2018-12-03
今天在看一個開源項目的時候,無意中看到一個未見過的文法和用法,於是查了一下資料和寫了一下demo來驗證,結果如下懂得c++的朋友都知道goto這個關鍵字吧,這個關鍵字讓我們可以在程式中比較靈活地跳轉;當然都不推薦使用他,但是他也有他特定的用途,比如跳出多重迴圈的時候就特別有用,直接上代碼:public class Main {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated
Time of Update: 2018-12-03
C/C++中near和far的區別 關鍵字near和far受目標電腦體繫結構的影響。目前編程中使用不多。 near關鍵字建立一個指向可定址記憶體低端部分的目標指標。這些指標佔用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到256個位置,通常是在 0x0000~0x00ff範圍中。 int near * ptr; far關鍵字建立一個能夠指向記憶體中任何資料的指標: char far * ptr; near