C++学习之NVI
摘要:
原文:http://www.cnblogs.com/gnuhpc/archive/2012/01/17/2324836.html1.简介在标准C++库中我们可以看到这样的一个现象:6个公有虚函数,并且都是std::exception::what()和其重载。142个非公有虚函数。这样设计的目的何在呢,为什么“多此一举”的把虚函数设置为非公有呢?这就是NVI机制要求的:将虚函数声明为非公有,而将公有函数都声明为非虚——虚拟和公有选其一。2.机制分析程序员常常将基类中的虚函数公有化,来提供一个接口的定义(virtual的功劳)同时提供其实现(具体的一个实现)。class Base{ public: 阅读全文
posted @ 2013-10-03 20:08 theCambrian.cpp 阅读(409) 评论(0) 推荐(1) 编辑