posts - 2,  comments - 0,  trackbacks - 0
C++程序设计模型直接支持三种 programming paradigms (程序设计典范)

1.程序模型(procedural model),就像C一样,C++当然也支持它,字符串的处理就是一个例子,我们可以使用字符数组以及 str* 函数集(定义在标准的C函数库中):
      
char boy[] = "Danny";
char *p_son;
……
p_son 
= new char[ strlen (boy ) + 1 ];
strcpy( p_son, boy );
……
if ( !strcmp( p_son, boy ) )
   take_to_disneyland( boy );

2.抽象数据类型模型(abstract data type model, ADT)。该模型所谓的“抽象”是和一组表达式(public 接口)一起提供,而其运算定义仍然隐而未明。例如下面的String class:

String girl = "Anna";
String daughter;
……
// String::operator=();
daughter = girl;
……
// String::operator==();
if ( girl == daughter )
  take_to_disneyland( girl );

3.面向对象模型(object-oriented model)。在此模型中有一些彼此相关的类型,通过一个抽象的 base class (用以提供共通接口)被封装起来。Library_materials class 就是一个例子,真正的 subtypes 例如 Book、Video、Compact_Disc、Puppet、Laptop 等等都可以从那里派生而来:
void check_in( Library_materials *pmat )
{
  
if ( pmat->late() )
     pmat
->fine();
  pmat
->check_in();

  
if ( Lender *plend = pmat->reserved() )
     pmat
->notify( plend );
}
posted on 2009-02-15 00:16 小修 阅读(247) 评论(0)  编辑 收藏 引用 所属分类: 深度探索C++对象模型笔记

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜