تفاوت بین virtual و non-virtual functions در C++
توضیحات:
در C++، توابع ممکن است به صورت virtual
یا non-virtual
تعریف شوند. تفاوت اصلی بین این دو نوع تابع به شکل زیر است:
توابع
virtual
: وقتی یک تابع به صورتvirtual
تعریف میشود، این به معنای این است که توابع مشابه در کلاسهای مشتق شده میتوانند این تابع را بازنویسی کنند. با استفاده از توابع مجازی، میتوان رفتار چندپلیمورفیسم را در C++ پیادهسازی کرد و به شکل پلیمورفیسمی از توابع استفاده کرد.توابع
non-virtual
: توابع غیر مجازی (non-virtual) به صورت پیشفرض توابع استاندارد هستند که در کلاس مادر تعریف شدهاند و در کلاسهای مشتق شده قابل استفاده هستند. این توابع نمیتوانند بازنویسی شوند و همیشه از تعریف اولیه خود استفاده میکنند.
بنابراین، تفاوت اصلی بین توابع virtual
و non-virtual
در C++ این است که توابع virtual
امکان بازنویسی در کلاسهای مشتق شده را فراهم میکنند و از پلیمورفیسم استفاده میکنند، در حالی که توابع non-virtual
این امکان را ندارند و همیشه از تعریف اولیه خود استفاده میکنند.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد