摘要:C++中,表达“is implemented in terms of(根据某物实现出)”关系有两种方法:复合与private继承。 复合很好理解,就是在类中包含另一个类对象,这在面向对象设计中是常用的方法。 与public继承不同,private继承不代表基类和子类之间的“is-a”关系,它往往意味
阅读全文
posted @ 2016-12-29 14:39
|
||
12 2016 档案
摘要:C++中,表达“is implemented in terms of(根据某物实现出)”关系有两种方法:复合与private继承。 复合很好理解,就是在类中包含另一个类对象,这在面向对象设计中是常用的方法。 与public继承不同,private继承不代表基类和子类之间的“is-a”关系,它往往意味
阅读全文
posted @ 2016-12-29 14:39
摘要:在C++中,有四种选择可以替代virtual函数的功能: 1.non-virtual interface(NVI)手法,这是一种template method模式。它以public non-virtual成员函数包含较低访问性的virtual函数。对于子类而言,子类只需重定义私有的virtual函数
阅读全文
posted @ 2016-12-25 19:44
摘要:在C++中,有时会遇到定义参数数量不确定的函数的情况。此时如果我们确定参数的类型是相同而个数不确定的话,可以用initializer_list来解决。 这是C++11里新加入的功能。initializer_list是一个模板类,它的使用有一点像vector,但是每一个元素都是常量,而且不能通过ope
阅读全文
posted @ 2016-12-09 16:17
摘要:模板是C++中非常重要的组成部分,之前自己对这块领域一直不太熟悉。最近趁着有时间学习了一下,特此总结。 首先是函数模板,它的定义方式如例子所示: 类也有自己的模板,称为类模板,如下所示: 要特别注意的是,C++中类模板的声明和定义应当放到同一个.h文件下,不能将声明和定义分散在不同的文件中。 类模板
阅读全文
posted @ 2016-12-01 20:43
|
||