用模板元实现50个台阶问题,一次走一步或者两步或者3步

来源:互联网 发布:手机淘宝店标尺寸 编辑:程序博客网 时间:2024/05/16 00:54
/*请用模板元实现50个台阶问题,一次走一步或者两步或者3步*/
#include <iostream>
template<int N>
struct data
{
 enum{res=data<N-1>::res+data<N-2>::res+data<N-3>::res};
};
template<>
struct data<1>
{
 enum{res=1};
};
template<>
struct data<2>
{
 enum{res=2};
};
template<>
struct data<3>
{
 enum{res=4};
};
void main(void)
{
 const int myint=30;
 int num=data<myint>::res;
 std::cout<<num<<std::endl;
 std::cin.get();
}
0 0
原创粉丝点击