template<typename T>
的作用是使函数适用于不同的输入类型。
template<typename T>
void print_num(const T num){
cout.setf(ios::showpoint);
cout<<num<<endl;
}
int main () {
int num1 = 1;
print_num(num1);
double num2 = 1.0;
print_num(num2);
long long num3 = 1e10;
print_num(num3);
return 0;
}
template<typename T0> struct NUM
{
NUM(const vector<T0>& vec):num1(vec[0]),num2(vec[1]){}
template<typename T>
void print_sum(const T& num){
cout.setf(ios::showpoint);
cout<<num+num1+num2<<endl;
}
const T0 num1;
const T0 num2;
};
int main () {
vector<double> r1 = {1.0,2.0};
int n = 3;
NUM<double> num(r1);
num.print_sum(n);
return 0;
}