• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

چند ريختی Polymorphism

Reza

متخصص بخش اسکریپت
چند ريختی يا Polymorphism يکی از خواص جالب در ++C محسوب ميشه .

شما نمی تونيد توابعی با اسامی يکسان داشته باشيد مگر در يک حالت استثناء اون هم مسئله چند ريختی هستش .


يعنی چند تابع مختلف با يک اسم يکسان تعريف می کنيد اما بايد دقت داشته باشيد که در مقادير ورودی توابع متفاوت باشند .


مثال :



}(void set(int a
;
int b
;
b=a
}
*************
}(
void set(float s
;
float m
;
m=s
}
*************
}(
int set(int f,int g
;
int j,k
;
j=f
;
k=g
;
return k+j
}
*************



در مثالهای بالا دقت کنيد که اسم توابع يکسان است و تنها در موقع صدا زدن آنها با توجه به نوع ورودی تابع , تابع مورد نظر اجرا می شود .

مثال :


اگر بنويسيم ;(
set (1 تابع اولی اجرا ميشود


اگر بنويسيم ;(
set (5.1 تابع دومی اجرا ميشود


اگر بنويسيم ;(
set (90, 8 تابع سومی اجرا ميشود و مقدار ۹۸ را بر می گرداند.
 
بالا