麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 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;
}

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

圖片精選

主站蜘蛛池模板: 竹内纱里奈和大战黑人 | 天天操综 | 狠狠色成色综合网 | 爱看久久 | 亚洲精品一二三区 | 国产精品免费观在线 | 麻豆一区二区99久久久久 | 成人精品视频网站 | h久久| 免费a级作爱片免费观看欧洲 | 91一区二区三区久久久久国产乱 | 欧美一级黄色录像片 | 亚洲成年人免费网站 | 96视频在线免费观看 | 国产无遮挡一区二区三区毛片日本 | 天海翼无删减av三级在线观看 | 欧美一级黄色免费看 | 女人裸体让男人桶全过程 | 一级视频网站 | 成人国产精品一区二区毛片在线 | 欧美精品一区二区三区久久久 | 日韩黄色av网站 | 国产女同玩人妖 | 久久久综合 | 男女羞羞在线观看 | 九草网| 国产精选电影免费在线观看 | 蜜桃av鲁一鲁一鲁一鲁 | 91看片王 | 成人午夜精品久久久久久久3d | 一级黄色毛片免费 | 国产精品av久久久久久网址 | 在线a毛片 | 成人在线视频精品 | av之家在线观看 | 精品国产99久久久久久宅男i | 永久av在线免费观看 | 国产亚洲精品综合一区 | 精精国产xxxx视频在线播放7 | 欧美一级做a | 日本综合久久 |