65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
template<int n>
class Factorial
{
public:
enum { val = Factorial<n-1>::val * n };
};
template<>
class Factorial<0>
{
public:
enum { val = 1 };
};
template<int N, int p>
class Power
{
public:
enum { val = N * Power<N,p-1>::val };
};
template<int N>
class Power<N,0>
{
public:
enum { val = 1 };
};
int main()
{
cout << sizeof(Factorial<1>::val) << endl;
cout << Factorial<12>::val << endl;
double nums[Factorial<3>::val]={0};
cout << Power<2,5>::val << endl;
system("pause");
return 0;
}