//类模板
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <class t1>
class bb
{
public:
int i;
bb()
{
this->i=2;
}
};
template <class t1,class t2>
class aa:public bb<t1>
{
public :
bb<t2> add(bb<t2>,t2);
};
template <class t1,class t2>
bb<t2> aa<t1,t2>::add(bb<t2> i,t2 j)
{
return i;
}
int main()
{
aa<double,int> a1;
bb<int> b1;
b1=a1.add(b1,1);
cout<<b1.i<<endl;
return 0;
}
//类模板参数除了类型参数外,还可以是标准的数据类型
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <class t,int i>
class bb
{
public:
void test(t t1)
{int k=t1+i;
cout<<k<<endl;
}
};
int main()
{
bb<int,2> b;
b.test(2);
return 0;
}
//类模板参数也可以没有类型参数
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <int i>
class bb
{
public:
int k[i];
bb()
{
}
};
int main()
{
bb<2> b;
return 0;
}
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <class t1>
class bb
{
public:
int i;
bb()
{
this->i=2;
}
};
template <class t1,class t2>
class aa:public bb<t1>
{
public :
bb<t2> add(bb<t2>,t2);
};
template <class t1,class t2>
bb<t2> aa<t1,t2>::add(bb<t2> i,t2 j)
{
return i;
}
int main()
{
aa<double,int> a1;
bb<int> b1;
b1=a1.add(b1,1);
cout<<b1.i<<endl;
return 0;
}
//类模板参数除了类型参数外,还可以是标准的数据类型
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <class t,int i>
class bb
{
public:
void test(t t1)
{int k=t1+i;
cout<<k<<endl;
}
};
int main()
{
bb<int,2> b;
b.test(2);
return 0;
}
//类模板参数也可以没有类型参数
#include"aa.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<string>
using namespace std;
template <int i>
class bb
{
public:
int k[i];
bb()
{
}
};
int main()
{
bb<2> b;
return 0;
}