با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش ++C در خدمت شما دوستان هستیم . در بخش قبلی با آموزش وراثت در ++C آشنا شدید، در این جلسه قصد داریم به آموزش بازنویسی توابع در ++C یا به صورت کامل میشه گفت بازنویسی توابع در وراثت در زبان ++C بپردازیم.
بازنویسی توابع (Function Overriding) این امکان را به ما می دهد تا اگر تابعی در کلاس های پایه و مشتق شده با نام و آرگومان یکسان وجود داشت، به شکل مختلفی در کلاس مشتق شده پیاده سازی شود.
فرض کنید در کلاس های پایه و مشتق شده یک تابع عضو با نام و آرگومان یکسان داریم.
اگر یک شی از کلاس مشتق شده ایجاد کنید و تابع عضوی را که در هر دو کلاس وجود دارد فراخوانی کنید، تابع عضو کلاس مشتق شده فراخوانی می شود و تابع کلاس پایه نادیده گرفته می شود.
این ویژگی به نام بازنویسی توابع در ++C شناخته می شود.
برای دسترسی به تابع کلاس پایه در کلاس مشتق شده از عملگر :: استفاده می کنیم.
برای مثال اگر بخواهید به تابع ()getData که در هر دو کلاس است دسترسی داشته باشید، از دستور زیر استفاده می کنیم:
1 | Base::getData(); |
جلسه آموزش بازنویسی توابع در وراثت در زبان ++C نیز به پایان رسید.
در جلسه بعد به آموزش وراثت پندگانه در ++C خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات سایت با ما در میان بگذارید.