读书人

请大家来帮小弟我实现小弟我的荒谬的想

发布时间: 2012-02-25 10:01:48 作者: rapoo

请大家来帮我实现我的荒谬的想法和设计!

我想用两个模板参数一个来描述类成员的类型,另外一个描述类成员的值
但是我能力有限希望大家能够实现这个设计!

问题1:
//设计请帮忙!?
template <class Type=int, int Val=10>
class TV
{
public:
。。。//构造函数如何写?
private:
。。。Type val;
};

问题2:
同时希望大家给出更好的想法或者设计!


[解决办法]
template <class Type=int, Type Val=10>
class TV
{
public:
。。。TV() : m_val(Val) {};
private:
。。。Type m_val;
};
[解决办法]
模板的非类型参数相当于一个常量。
template <typename Type=int, int Val=10> //这个val可以当作编译器的常量用
class A
{
A() : m_val(Val) {};//用val来初始化成员变量m_val
public:
Type m_val;
Type a[val]; //用Val当作数组的下标都没问题
}

读书人网 >C++

热点推荐