八叶一刀·无仞剑

万物流转,无中生有,有归于无

导航

12 2016 档案

摘要:C++中,表达“is implemented in terms of(根据某物实现出)”关系有两种方法:复合与private继承。 复合很好理解,就是在类中包含另一个类对象,这在面向对象设计中是常用的方法。 与public继承不同,private继承不代表基类和子类之间的“is-a”关系,它往往意味 阅读全文

posted @ 2016-12-29 14:39 闪之剑圣 阅读(163) 评论(0) 推荐(0)

摘要:在C++中,有四种选择可以替代virtual函数的功能: 1.non-virtual interface(NVI)手法,这是一种template method模式。它以public non-virtual成员函数包含较低访问性的virtual函数。对于子类而言,子类只需重定义私有的virtual函数 阅读全文

posted @ 2016-12-25 19:44 闪之剑圣 阅读(134) 评论(0) 推荐(0)

摘要:在C++中,有时会遇到定义参数数量不确定的函数的情况。此时如果我们确定参数的类型是相同而个数不确定的话,可以用initializer_list来解决。 这是C++11里新加入的功能。initializer_list是一个模板类,它的使用有一点像vector,但是每一个元素都是常量,而且不能通过ope 阅读全文

posted @ 2016-12-09 16:17 闪之剑圣 阅读(194) 评论(0) 推荐(0)

摘要:模板是C++中非常重要的组成部分,之前自己对这块领域一直不太熟悉。最近趁着有时间学习了一下,特此总结。 首先是函数模板,它的定义方式如例子所示: 类也有自己的模板,称为类模板,如下所示: 要特别注意的是,C++中类模板的声明和定义应当放到同一个.h文件下,不能将声明和定义分散在不同的文件中。 类模板 阅读全文

posted @ 2016-12-01 20:43 闪之剑圣 阅读(1719) 评论(0) 推荐(0)