فراخوانی متدهای virtual در سازنده

خیلی خلاصه: هیچوقت از متدهای virtual در سازنده و نابودگر کلاس استفاده نکنید. در سی شارپ و جاوا استفاده از این نوع متدها مشکلی ایجاد نمیکند. اما در C++ متدهای virtual در سازنده و نابودگر کلاس نادیده گرفته شده و حتی در کلاسهای مشتق شده نیز متدهای کلاس پایه صدا زده می شوند.
مثال:

در این مثال با فراخوانی سازنده کلاس derived در واقع انتظار داریم که روی صفحه عبارت derived نوشته شود، در صورتیکه در واقعیت عبارت base به نمایش خواهد آمد.
توضیحات بیشتر

1 فکر می‌کنند “فراخوانی متدهای virtual در سازنده

  1. اگه میشه در مورد template ها و توابع virtual مطالب بیشتری بزارید .مخصوصاً توابع virtual و موارد استفاده و فوایدشون
    ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *