日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

因為個人愛好,平時在家學習單片機開發,沒事寫寫程序,不知道怎么地,突然就想用C模仿C++寫程序,于是乎,弄了幾個宏定義。。。

首先,為了在樣子上長得像,需要這樣一個宏定義,如下:

用C語言,模仿C++寫單片機程序

 

光這樣是不行的,因為C++中有默認的構造函數,析構函數,所以還需要如下這個東西,如下:

用C語言,模仿C++寫單片機程序

 

這樣就有了一個this指針,構造函數fnCtor,析構函數fnDtor,這個結構體里面的uiClassSize,后面會用的到,用來保存創建的類占用存儲控件大小的。

由于每一個類都需要如上的構造函數,析構函數,所以還需要一個宏來實現定義一個類,如下:

用C語言,模仿C++寫單片機程序

 


用C語言,模仿C++寫單片機程序

 

上面幾個宏就能大概實現了。把這幾個宏放到一個頭文件中,以后新建一個類的時候,新建一個頭文件并引用這個頭文件。下邊,用這種方式定義一個類(這里沒有顯示上面宏定義的頭文件,其實包含了)。如下:

用C語言,模仿C++寫單片機程序

 

每新建一個類都要有上圖中,class_default;這個是第二張圖片中結構體指針變量,這是為了每一個類都有構造函數,析構函數,其他元素就可以自定義了,也就是類的成員變量,比如flag,data,當然也可以用函數指針來聲明類的成員函數。

僅僅這樣還是不夠滴。還需要一個宏,如下:

用C語言,模仿C++寫單片機程序

 

這個宏用在類對應的c文件中使用,如下:

用C語言,模仿C++寫單片機程序

 

前兩個函數是構造函數,和析構函數。功能就自己定義了。最下面的const CLASS(CTest) 后面是名字,可以自己取,里面的內容中第一條等號后面的 一定要是 &__XXX_class ,XXX就是前面頭文件中類的名字,一定要這樣寫。其實就是把 class_define(X) 這個宏中定義的__X_class的地址賦值給了pClass_default。到這里就搞定了。

為了能夠生成一個對象,還需要這樣一個函數,用來生成一個類的對象,函數如下:

用C語言,模仿C++寫單片機程序

 

以后用這個函數創建一個類就可以了。到這里就差不多了。

使用類的時候是這樣的,如下:

用C語言,模仿C++寫單片機程序

 

以后有時間在貼出具體的用這種方法寫單片機程序的例子。

分享到:
標簽:語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定