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

توابع مجازی

Reza

متخصص بخش اسکریپت
توابع مجازی يا Virtual Functions در ارث بری توابع کاربرد دارند که توضيح خواهم داد .

در هنگام تعريف يک تابع در يک کلاس شما می توانيد در ابتدای تعريف تابع کلمه کليدی
virtual رو برای مجازی کردن تابع استفاده کنيد . مثال :


}class A
.
.
.
:
public
;(
virtual void setage(int age
.
.
.
}


نکته : کاربرد توابع مجازی مانند توابع حقيقی است و هيچ فرقی ندارد ( در حالت عادی)


امااگر يک کلاس از اين کلاس شما مشتق شود و تابعی با همين نام اما به صورت تابع غیر مجازی داشته باشد اتفاق زیر رخ می دهد :



اگر شئی از کلاس مشتق شده تعريف شود و تابع مشترک اين دو کلاس که در اولين کلاس مجازی است فراخوانی شود : تابع متعلق به کلاس مشتق شده اجرا خواهد شد .


این نوع توابع در مواردی کاربد دارد که شما تشخیص می دهید که ممکن است در بعضی شرایط نیاز باشد که تابعی که در کلاس پایه تعریف میکنید تغییر ساختار موقتی داشته باشد برای یک کاربرد خاص.
 
بالا