#include<iostream>
using namespace std;
template<class T>
T square(T number)
{
return number * number;
}
int main()
{
int a =10;
cout<<"aa= "<<square(a)<<endl;
float b =9.9;
cout<<"bb= "<<square(b)<<endl;
return 0;
}
#include<iostream>
using namespace std;
template<class T,class D>
T square(T number,D a)
{
return number * a;
}
int main()
{
int a =10;
char c =8;
cout<<"aa= "<<square(a,c)<<endl;
float b =9.9;
int d = 5;
cout<<"bb= "<<square(b,d)<<endl;
return 0;
}
//类内使用函数模板
#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
//template<class T, class D>
class Member
{
public:
// Member(T t, D d): name(t), sal(d){}
Member(string t,double d): name(t), sal(d){}
template<class T, class D>
void print(T a, D b);
private:
string name;
double sal;
};
/*
template<class T, class D>
void Member<T, D>::print()
{
cout<<name<<" "<<sal<<endl;
}*/
template<class T, class D>
void Member::print(T a, D b)
{
cout<<name<<" "<<sal<<endl;
cout<<a<<" "<<b<<endl;
}
//====================================================
int main()
{
typedef Member M;
vector<M> v;
v.push_back(M("Linda",75000));
v.push_back(M("Robert",60000));
vector<M>::iterator it = v.begin();
cout<<"Entire vector:"<<endl;
while(it!= v.end())
(it++)->print(12,"qqq");
cout<<endl;
cout<<"Return form front()"<<endl;
v.front().print(13,"qqt");
return 0;
}
//类内使用带指针参数的函数模板
#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
//template<class T, class D>
class Member
{
public:
// Member(T t, D d): name(t), sal(d){}
Member(string t,double d): name(t), sal(d){}
template<class T, class D>
void print(T* a, D b);
private:
string name;
double sal;
};
/*
template<class T, class D>
void Member<T, D>::print()
{
cout<<name<<" "<<sal<<endl;
}*/
template<class T, class D>
void Member::print(T* a, D b)
{
cout<<name<<" "<<sal<<endl;
cout<<*a<<" "<<b<<endl;
}
//====================================================
int main()
{
typedef Member M;
vector<M> v;
v.push_back(M("Linda",75000));
v.push_back(M("Robert",60000));
vector<M>::iterator it = v.begin();
cout<<"Entire vector:"<<endl;
int d =123;
while(it!= v.end())
(it++)->print(&d,"qqq");
cout<<endl;
cout<<"Return form front()"<<endl;
d =13;
v.front().print(&d,"qqt");
return 0;
}