it語言

1/22ページ

【C語言】用結構體陣列實現:有三個候選人,每個選民只能選一個人,編寫一個選票程式,最終輸出候選人的票數

//用結構體陣列實現:有三個候選人,每個選民只能選一個人,編寫一個選票程式,最終輸出候選人的票數(假設有十個選民) #include <stdio.h> struct Person //宣告結構體 { char name[20]; int count; }leader[3]={"li", […]

C語言物件導向程式設計(一):封裝與繼承

    最近在用 C 做專案,之前用慣了 C ,轉回頭來用C 還真有點不適應。 C 語言中自帶物件導向支援,如封裝、繼承、多型等物件導向的基本特徵。 C 原本是程序導向的語言,自身沒有內建這些特性,但我們還是可以利用 C 語言本身已有的特性來實現物件導向的一些基本特徵。接下來我們就一一來細說封裝、繼 […]

C語言物件導向程式設計(二):繼承詳解

    在 C 語言物件導向程式設計(一)裡說到繼承,這裡再詳細說一下。     C 中的繼承,從派生類與基類的關係來看(出於對比 C 與 C ,只說公有繼承): 派生類內部可以直接使用基類的 public 、protected 成員(包括變數和函式) 使用派生類的物件,可以像訪問派生類自己的成員一 […]

C語言物件導向程式設計(三):虛擬函式與多型

    在《 C 程式設計思想》一書中對虛擬函式的實現機制有詳細的描述,一般的編譯器通過虛擬函式表,在編譯時插入一段隱藏的程式碼,儲存型別資訊和虛擬函式地址,而在呼叫時,這段隱藏的程式碼可以找到和實際物件一致的虛擬函式實現。     我們在這裡提供一個 C 中的實現,模仿 VTABLE 這種機制,但 […]

C語言物件導向程式設計(四):面向介面程式設計

    Java 中有 interface 關鍵字,C 中有抽象類或純虛類可以與 interface 比擬,C 語言中也可以實現類似的特性。     在面試 Java 程式設計師時我經常問的一個問題是:介面和抽象類有什麼區別。     很多程式設計書籍也經常說要面向介面程式設計,我的理解是,介面強制 […]

C語言物件導向程式設計(五):單連結串列實現

    前面我們介紹瞭如何在 C 語言中引入面嚮物件語言的一些特性來進行物件導向程式設計,從本篇開始,我們使用前面提到的技巧,陸續實現幾個例子,最後呢,會提供一個基本的 http server 實現(使用 libevent )。在這篇文章裡,我們實現一個通用的資料結構:單連結串列。     這裡實現 […]

C語言物件導向程式設計(六):配置檔案解析

    在實際專案中,經常會把軟體的某些選項寫入配置檔案。 Windows 平臺上的 INI 檔案格式簡單易用,本篇文章利用《C語言物件導向程式設計(五):單連結串列實現》中實現的單連結串列,設計了一個“類” ini_parser 來讀寫 INI 格式的配置檔案。     struct ini_pa […]