继承:是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。(引用自百度百科) 类和类之间的继承关系可以用UML符号表示,其中父类又叫超类或基类,子类又叫派生类。父类是子类的一般化,子类是父类的特化(具体化)。 JAVA不支持多继承,单.....
分类:
编程语言 时间:
2015-02-26 21:28:03
阅读次数:
185
template
class UnSignType
{
//如果缺少Type 请用UNSIGN_TYPE宏添加偏特化
};
#define UNSIGN_TYPE(t) template
struct UnSignType { typedef unsigned t TYPE;};
UNSIGN_TYPE(char)
UNSIGN_TY...
分类:
其他好文 时间:
2015-02-05 13:43:11
阅读次数:
100
开发环境:VS2005(VC8)
以下代码在VS2002上运行不了,据说VS2002(VC7)不完全支持偏特化,VS2003(VC7.1)就支持了。
问题提出:
一,已知类型T,U,在编译阶段如何知道T能否转化成U。
template
struct ConversionHelper
{
static long Test(...);//WQ注:C++中,不定参数已不需要“至少一...
分类:
其他好文 时间:
2015-01-21 18:12:42
阅读次数:
136
本文做如下简化:
1,假定所有维元素都是5。
2,不考虑const的[]。
3,由于只是熟悉原理,不考虑各种异常情况。
问题一,请实现一个一维整形数组,只需重载[]。
问题二,请实现一个二维整形数组,只需重载[]。
源码如下:
class CIntArray1
{
public:
int& operator[](int index)
{...
分类:
编程语言 时间:
2015-01-21 13:30:47
阅读次数:
230
本文主要讲述,如何应用typelist技术实现类似模板方法模式,使之容易扩充,方便使用。其中,运用了C++标准的 变长模板参数技术(C++11),模板偏特化技术,模板类型默认参数等技术。
本文主要借鉴《C++ template》和《C++设计新思维》两书。
分类:
编程语言 时间:
2015-01-08 14:49:01
阅读次数:
194
#include #include #include using namespace std;templateT mul(T a, P b) { return a * b;}templatestring mul(string a, int b) { string res; for ...
分类:
编程语言 时间:
2014-12-23 16:59:54
阅读次数:
189
/*第2章 C++模板技术 2.1 函数模板 2.2 类模板 2.3 模板完全特化 2.4 函数模板重载 2.5 类模板继承 2.6 本章小结*///第2章 C++模板技术// 2.1 函数模板 --------------------------------------...
分类:
编程语言 时间:
2014-11-19 15:48:23
阅读次数:
203
现在我们已经知道如何使一个泛型定义扩展成一些相关的类家族和函数家族。但是有些时候,我们需要同一个名字的函数的不同实现(透明定义),为的是在不同情况下获得较高的性能,在这种情况下就不是简单的参数替换就能够解决的。
分类:
其他好文 时间:
2014-11-16 14:38:03
阅读次数:
184
编译器assertions,帮助程序库为泛型代码产生有意义的错误信息模板偏特化,让你可以特化template,并非针对特定的、固定集合的参数,而是针对吻合某个式样的一群参数局部类,让你做些有趣的事,特别是对template函数常整数映射外i型别,允许在编译期以数值作为分派的取决因素型别对型别的映射,...
分类:
编程语言 时间:
2014-11-09 17:56:21
阅读次数:
199
1.从面向对象的C++转向模板C++时继承可能遭遇问题:由于基类模板可能被特化,而该特化版本肯可能会改变成员,因此C++拒绝在模板基类中寻找继承而来的名称2.实例:假设信息传送到不同的公司去,传送方式包括明文传送和密文传送,采用模板类的设计方法;templateclass MsgSender{pub...
分类:
其他好文 时间:
2014-11-07 16:22:29
阅读次数:
192