(1)struct實現class
struct內部變數等效於class成員變數;
struct內部函式指標等效於class成員函式;
typedef struct point_t
point_t;
void setpoint(struct point_t *pp,int x, int y)
void main()
;
m_p.setpoint(&m_p,10,10);
printf("x=%d,y=%d\n",m_p.x,m_p.y);
}
(2)將struct a作為struct b第乙個元素,可實現「繼承」以及「父子」間的強制轉換
typedef struct point_display_t
point_display_t;
void displaypoint(struct point_display_t *pdis)
//接(1)
void main()
;
struct point_display_t m_dis=
;
m_p.setpoint(&m_p,10,10);
m_dis.displaypoint(&m_dis);//輸出x=0,y=0
struct point_t *p_point;
struct point_display_t *p_point_display;
m_dis.p.setpoint(&(m_dis.p),20,20);
m_dis.displaypoint(&m_dis);//輸出x=20,y=20
p_point=(point_t *)&m_dis;//子型別轉為父型別
printf("x=%d,y=%d\n",p_point->x,p_point->y);//輸出x=20,y=20
p_point_display = (point_display_t *)p_point;
p_point_display->displaypoint(p_point_display);//輸出x=20,y=20
}
C 實現延遲方法類似於JS的settimeout
我們在變成過程中經常使用非同步或者延遲處理,指令碼中有現成的延遲處理settimeout,但是在c 後端中就沒有這樣現成的方法,但是我們可以使用times可以做乙個類似的方法 如下1000為延遲時間,時間單位為毫秒,而actionfunction則為具體的活動方法,在裡面寫入方法後就可以實現非同步呼...
類似於c語言讀取檔案進行解析
stream fread handle,length 從檔案當前指標位置,往後讀取n個位元組長度 重置檔案指標的位置。指定指標的位置,指標位置修改後。讀取檔案,後面是從這個位置開始讀取了 fseek handle,105 fgets表示每次讀取檔案的一行 error log array while ...
c 分割字串 類似於boost split
由於c 字串沒有split函式,所以字串分割單詞的時候必須自己手寫,也相當於自己實現乙個split函式吧!如果需要根據單一字元分割單詞,直接用getline讀取就好了,很簡單 1 include 2 include 3 include 4 include 5 using namespace std ...