#include<iostream.h>
#include<conio.h>
int add(int x,int y){return x+y;}
float add(int x,float y){return x+y;}
float add(float x,int y){return x+y;}
float add(float x,float y){return x+y;}
void main()
{
//for (int n=0 , s=0 ; n<=5 ; n+=2,s+=n)
//cout<<s;
cout<<add(2,3)<<add(2,float(2.5));
cout<<add(float(2.5),2)<<add(float(2.5),float(2.5));
getch();
}
چون میگه پارامتر های اعشار یعنی 2.5 رو نمی دونه توی تابع int بزاره یا float
اما اگه پارامتر ها رو همونجا تبدیل به float کنی مثل برنامه بالا حاصل 54.54.55 همون گزینه 4 میشه
اگر بخواهیم کامنت کنیم باید 3 تابع آخر رو کامنت کنیم در اینصورت همان گزینه 1 صحیح است
دوستان عزیز، همانطور که اطلاع دارید مشکل وجود 4 تابع با هم هست و هیچ کدام به تنهایی مشکلی ندارد؛ بنابراین فرقی ندارد که کدام یکی را اجرا و 3 تای دیگر را کامنت کنیم. اگر توابع دوم تا چهارم را کامنت کنیم گزینه 1 و اگر توابع اول تا سوم را کامنت کنیم گزینه 4 بدست می یاد. دو ترتیب دیگر در گزینه ها موجود نیست.
به همین دلیل اساتید موسسات مختلف بین گزینه های 1 و 4 اختلاف نظر دارند. بدیهی است که اشکال از تست است.