首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

用C语言兑现面向对象程序设计(二)

2013-01-26 
用C语言实现面向对象程序设计(二)上集对OOSM宏包及其应用作了直观的介绍,下面我们来看看ccirc/crect/csqua

用C语言实现面向对象程序设计(二)

上集对OOSM宏包及其应用作了直观的介绍,下面我们来看看ccirc/crect/csqua等对象具体的描述方式。

接口(interface)对行为进行抽象,利用它可以实现类的多态性,imeas.h定义了一个测量周长和面积的接口:

#include "ccirc.h"#define PI  (3.1415926)static double peri(void* this){    return 2 * PI * ((ccirc*)this)->radius;}static double area(void* this){    return PI * ((ccirc*)this)->radius * ((ccirc*)this)->radius;}static double diam(ccirc* this){    return 2 * this->radius;}constructor(ccirc){    mapping(imeas.peri, peri);    mapping(imeas.area, area);    mapping(diam, diam);}destructor(ccirc){    return 1;   /* Returns 1 for freeing the memory */}
圆形类在实现imeas接口的基础上,另有自己的diam方法,注意自己本身方法直接映射即可。

热点排行