用C語言實現物件導向程式設計 一

2021-06-12 08:38:40 字數 1871 閱讀 7252

許多朋友都知道用c語言是可以實現物件導向程式設計的,但是具體到操作的細節部分就有些茫然不知所措了。為此作者在研究lw_oopc

的基礎上,對其進行充分的簡化,只保留最基本的物件導向功能,形成自己的oosm巨集包,其實這些東西已經夠用了,以下是oosm巨集包的源**:

/*

object-oriented support macros(oosm)

oosm is an object-oriented support macros, it makes the c programming language

with object-oriented programming capabilities.

lw_oopc( means

light-weight object-oriented programming in c, written by misoo team,

it is a very outstanding works!

oosm inherits the essence of lw_oopc and crops to retain the basic features.

oosm written by turingo studio,

but anyone can copies modifies, and distributes it freely.

hansome sun([email protected])

january 18, 2013

*/#ifndef __oosm_h__

#define __oosm_h__

#include #define class(type) \

typedef struct type type; \

type* type##_new(void); \

void type##_constructor(type* t); \

int type##_destructor(type* t); \

void type##_delete(type* t); \

struct type

#define inte***ce(type) \

typedef struct type type; \

struct type

#define extends(type) type type

#define implements(type) type type

#define constructor(type) \

type* type##_new(void) \\\

void type##_constructor(type* this)

#define destructor(type) \

void type##_delete(type* this) \\\

int type##_destructor(type* this)

#endif/*__oosm_h__*/

#include #include "imeas.h"

#include "ccirc.h"

#include "crect.h"

#include "csqua.h"

int main(int argc, char* argv)

那麼ccirc/crect/csqua等物件是如何描述的呢,請看下集分解。

C語言 實現 物件導向程式設計 OOC

結構體,函式指標,聚合組合等知識。inside the c object model object oriented programming with ansi c 這裡是csdn上前幾章的中文翻譯 wiki上有全部的中英文互譯 不過建議對照英文原著閱讀 這裡有object oriented pro...

lua語言實現物件導向程式設計

lua是乙個非常輕巧的指令碼語言。這裡通過幾個步驟,說明lua如何實現類的功能。1 通過clone函式複製表 function clone tab local tab for k,v in pairs tab do tab k v endreturn tab end 2 定義類的成員函式new,用於...

C語言實現物件導向示例

用c語言實現物件導向的方法,物件導向的三個基本特徵,物件唯一性,繼承性,抽象性。使用c 語言中的結構體和函式指標將資料與操作放在一起,使得 乙個問題的解決方法封裝在結構體中。其中結構體的巢狀使用實現了繼承性。cpp view plain copy print include include stru...