金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
类不变式的实现: 每个类定义一个非公有的非虚方法isValid(),不带参数,返回布尔值。
每次调用公有函数时,开始时调用一次该方法(在先验条件测试之后),并在结束时再调用一次;在有些实现中,不变式方法内部可能也会有断言,而不必等到返回 至它的调用者。

void MyClass::foo()
{
  ASSERT(isValid());
  ...
  ASSERT(isValid());
}

摘自《Extended STL》

isValid()非虚函数是必须的,不然有可能被子类覆盖.
非公有好像没什么必要,不知有什么用意。
posted on 2010-04-12 10:18 金庆 阅读(692) 评论(0)  编辑 收藏 引用 所属分类: 1. C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理