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

C面向对象编程-抽象数据类型(一)

2013-11-13 
C面向对象编程--抽象数据类型(1)一、数据类型:????? 在任何编程语言中,数据类型作为一个整体,ANSI-C包含的

C面向对象编程--抽象数据类型(1)

一、数据类型:

????? 在任何编程语言中,数据类型作为一个整体,ANSI-C包含的类型为:int、double、char……,程序员很少满意语言本身提供的数据类型,一个简单的办法就是构造类似:array、struct 或union。

????? 那么,什么是数据类型呢?我们可以这样定义:一种数据类型是一些值的集合——通常char类型共有256不同的值,int有更多,double也包含更多的值,但是它通常和数学意义上的实数不同。

????? 相应地,我们可以定义数据类型:包含一些值的集合,在值上面添加一些操作。通常,这些值都是计算机可以表示,同时对其的操作或多或少反应了可行的硬件指令。ANCI-C中的int类型在这方面表现得不是很好:在不同的机器上有不同的值,并且算术右移等操作也可能不同。

例如,通常我们定义一个线性结构的数据结构如下:

#include <stdio.h>#include "new.h"#include "Object.h"#include "Set.h"int main (){void * s = new(Set);void * a = add(s, new(Object));void * b = add(s, new(Object));void * c = new(Object);if (contains(s, a) && contains(s, b))puts("ok");if (contains(s, c))puts("contains?");if (differ(a, add(s, a)))puts("differ?");if (contains(s, drop(s, a)))puts("drop?");delete(drop(s, b));delete(drop(s, c));return 0;}

?在下篇文章中(C面向对象编程--抽象数据类型(2)),将逐一实现本文所有头文件中声明的函数

?

热点排行