PDA

View Full Version : سوال: تابع مجازی مجرد چیست و چگونه می توان از آن استفاده کرد؟



Babak81
چهارشنبه 15 دی 1389, 17:06 عصر
درباره توابع مجازی مجرد، و کاربرد آنها لطفاً راهنمایی نمایید.

mehdi.mousavi
چهارشنبه 15 دی 1389, 17:28 عصر
درباره توابع مجازی مجرد، و کاربرد آنها لطفاً راهنمایی نمایید.

سلام.
این توابع هنگامی استفاده میشن که شما در Base Class خودتون از وجود Feature ای مطلع باشید، اما مایل باشید پیاده سازی اونو "صرفا" به کلاسهایی که از کلاس شما Derive میشن بسپرید. طریقه تعریف اونها به این شکله:


virtual void MyFunction() = 0;اون = 0 بیانگر Pure Virtual بودن تابع هستش. طبیعتا چنین توابعی نمیتونن Body داشته باشن، یعنی شما نمیتونید همونجاییکه دارید اونو Declare میکنید، Body اونو هم تعریف کنید (که اگر میشد دیگه Pure نبود). در نهایت، برای پیاده سازی چنین توابعی، میتونید در Subclass خودتون، متود مربوطه رو بدین شکل پیاده سازی کنید:



virtual void MyFunction() {
//my function's body
}برای اطلاعات بیشتر و مثال های دقیق تر، لطفا به این آدرس (http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage% 2Fref%2Fcplr142.htm) مراجعه کنید.

موفق باشید.

پاورقی: جای واژه نا مانوس "توابع مجازی مجرد" از Pure Abstract Function استفاده کنید.