PDA

View Full Version : سوال در مورد templates



iut.ali
سه شنبه 13 آبان 1393, 20:54 عصر
سلام من تا حالا فک میکردم واسه ی تعریف Template ها فقط میتونیم یه اسم واسه template انتخاب کنیم ولی امروز چیزها ی دیگه ای دیدم میشه یکی در مورد اجزائی که میگیره یه توضیحی برام بده ممنون

مثلا
template <class T, class Iter>

rahnema1
سه شنبه 13 آبان 1393, 22:15 عصر
سلام
اگه منظورتون را درست متوجه شده باشم سوالتون اینه که چرا دو تا پارامتر میشه استفاده کرد
مثلا در تابع زیر هنگامی که اعلام کردیم هر دو نوع پارامترهای تابع یکسان هستند دیگه نمیتونیم هنگام صدا زدن تابع از دو نوع عدد با نوع متفاوت استفاده کنیم مثلا هر دو تا باید int و یا هردو double باشند

template <class A>
double zarb( A a,A b)
{
return a*b;
}
int main()
{
zarb(2,3.0);
}

که می بینیم که خطا میده
اما برای رفع این مشکل دو تا پارامتر را می تونیم برای template در نظر بگیریم

template <class A, class B>
double zarb( A a,B b)
{
return a*b;
}
int main()
{
zarb(2,3.0);
}