如何实现这样的模版类?
template<bool bEnableLog>
class A
{
func()
{
1.这里是func的实现代码;
2.如果bEnableLog为true,那么这里是输出日志的代码,否则这里没有任何代码
}
}
当然可以用特化来实现
template<bool bEnableLog> class A;
template< true >
class A
{
func()
{
1.这里是func的实现代码;
2.这里是输出日志的代码
}
};
template< false >
class A
{
func()
{
1.这里是func的实现代码;
2.这里没有任何代码
}
};
但是特化造成的问题是,func的实现代码写了两遍,我不想这样,该如何实现?
class A
{
func()
{
1.这里是func的实现代码;
2.如果bEnableLog为true,那么这里是输出日志的代码,否则这里没有任何代码
}
}
当然可以用特化来实现
template<bool bEnableLog> class A;
template< true >
class A
{
func()
{
1.这里是func的实现代码;
2.这里是输出日志的代码
}
};
template< false >
class A
{
func()
{
1.这里是func的实现代码;
2.这里没有任何代码
}
};
但是特化造成的问题是,func的实现代码写了两遍,我不想这样,该如何实现?
...全文
相关推荐
C++模版类实现顺序栈、链栈
压缩包内为栈的工程包;工程包括顺序栈、链栈的类的定义与实现;附适当注释;完全面向对象,类封装;测试类中用(纯)虚函数实现多态。
C++模版类实现顺序表、单链表、双链表
压缩包内为线性表的工程包;工程内包括顺序表、单链表、双链表的类的定义与实现;附适当注释;完全面向对象,类封装;测试类中用(纯)虚函数实现多态。
9秒学院C++模版类实现单链表
9秒学院C++模版类实现单链表,所有的类都是模版类,如果想把模版类的定义与实现分离要注意,模版类的实现不能放在.cpp文件里,只能放在.txt文件里;
数据结构中的动态数组模版类
动态数组模版类 拆分了动态数组的各个函数的算法 包含:插入,删除、增加、获取长度、查询、遍历
矩阵模版类
自己写的矩阵类,功能不完善,只有基本操作,解线性方程组


模式及实现
