a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

利用C語言實踐OOP,以及new,delete的深入分析

2020-01-26 16:02:14
字體:
來源:轉載
供稿:網友
研究了一下,總算勉強能夠融會貫通了
c寫成OOP還蠻有樂趣的
編譯環境:Xcode3.2.3+gcc4.2
復制代碼 代碼如下:

#ifndef OBJECT_H
#define OBJECT_H
typedef void (*Execute)(struct Object *a_This);
typedef struct Object* (*Allocate)();
typedef struct _Object_Vtable
{
 char *name;
 Execute exe;
}Object_Vtable;
typedef struct _baseCmd
{
 Object_Vtable vtable;
}BaseCmd;
// --- for common --- //
BaseCmd* new(Allocate newObj);
void delete(void * item);
// --------------------------//
// --- for BaseCmd --- //
BaseCmd* NewBaseCmd();
void Exe_BaseCmd(BaseCmd *a_This);
// --------------------------//
// --- for HomeCmd --- //
typedef struct _homeCmd
{
 Object_Vtable vtable;
}HomeCmd;
BaseCmd* NewHomeCmd();
void Exe_HomeCmd(HomeCmd *a_This);
// --------------------------//
#endif

復制代碼 代碼如下:

#include "Cloud.h"
// --- for common --- //
BaseCmd* new(Allocate newObj)
{
 BaseCmd * obj = newObj();
 return obj;
}
void delete(void * item)
{
 free(item);
}
// --------------------------//
// --- for BaseCmd --- //
BaseCmd* NewBaseCmd()
{
 BaseCmd * cmd = malloc(sizeof(BaseCmd));
 cmd->vtable.name = "Cloud";
 cmd->vtable.exe = Exe_BaseCmd;
 return cmd;
}
void Exe_BaseCmd(BaseCmd *a_This)
{
 printf("do base command = %s/n",a_This->vtable.name);
}
// --------------------------//
// --- for HomeCmd --- //
BaseCmd* NewHomeCmd()
{
 HomeCmd * cmd = malloc(sizeof(HomeCmd));
 cmd->vtable.name = "Home";
 cmd->vtable.exe = Exe_HomeCmd;
 return cmd;
}
void Exe_HomeCmd(HomeCmd *a_This)
{
 printf("do home command = %s/n",a_This->vtable.name);
}
// --------------------------//

復制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include "Cloud.h"
int main (int argc, const char * argv[])
{

 BaseCmd* cmd = new(NewBaseCmd);
 cmd->vtable.exe(cmd);
 delete(cmd);

 BaseCmd* cmd2 = new(NewHomeCmd);
 cmd2->vtable.exe(cmd2);
 delete(cmd2);

    return 0;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 91在线免费视频 | 91精品综合久久久久久五月天 | 99视频网站 | av在线不卡播放 | 精品中文字幕在线观看 | 日本精品不卡 | 欧美日韩成人在线 | 亚洲一区av| 99久久综合狠狠综合久久 | 亚洲不卡 | 中文字幕本久久精品一区 | 91精品国产91久久久久久吃药 | 伊人婷婷| 91久久久久久久久久久久久久久久 | 日本中文在线 | 久久视频一区 | 亚洲精品在线看 | 国产猛男猛女超爽免费视频网站 | 国产福利在线视频 | 青青草99| 青草视频在线观看视频 | 精品亚洲成a人片在线观看 99在线免费视频 | 99精品久久久久久久免费 | 日日夜夜综合 | 亚洲高清av | 欧洲精品一区二区 | 日本久久伊人 | 国产精品乱码一区二区三区 | 中文字幕视频在线 | 琪琪av在线| 日韩大片免费播放 | 成年人免费看 | 欧美午夜一区二区三区免费大片 | 国产精品人人做人人爽 | 欧美一级做a爰片免费视频 在线不卡日韩 | 久久国产精品一区二区 | 91色视频在线观看 | 性视频亚洲 | 狠狠久久伊人中文字幕 | 黄色在线视频网 | 美足av|