摘要: 区分接口继承和实现继承类包含的成员函数种类1.静态函数2.非静态函数 2.1 普通函数(非虚) non-virtual 2.2 虚函数 2.2.1 纯虚函数 pure-virtual 2.2.2 非纯虚函数 impure-virtual一、接口继承继承类必须要实现声明为pure-virtual的函数,意味每个继承类的特异化实现二、实现继承继承类如有需要可以覆写(override)基类的impure-virtual函数,当不覆写时将使用基类提供的默认实现三、普通非虚函数继承类不应声明实现此类函数,否则该继承类将隐藏基类的实现。此类函数的意义就是强制所有继承类都使用基类的实现。例子... 阅读全文
posted @ 2014-01-21 14:56 让代码飞一会儿 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 接口容易被正确使用,不易被误用c++简单工厂模式时,初级实现为ITest* CreateTestOld(), 然后用户负责释放返回的对象。如果忘记释放就会造成memory leak,所以在设计工厂接口时就应屏蔽这个潜在的问题,这时就可以用智能指针shared_ptr CreateTest(),由他负责对象资源的管理,而对客户端的使用来说更简洁了。 1 #include "stdafx.h" 2 #include 3 #include 4 using namespace std; 5 6 class ITest 7 { 8 public: 9 virtual void Fun 阅读全文
posted @ 2014-01-21 11:01 让代码飞一会儿 阅读(696) 评论(0) 推荐(1) 编辑