C++ Multilevel Inheritance
زبان ++C میتونیم وراثت رو در چند سطح (Multilevel Inheritance) پیاده کنیم. یعنی یک کلاس از کلاس دیگری ارثبری کنه و خودش پایهی یک کلاس بعدی بشه.
🔹 تعریف چند سطحی
در وراثت چند سطحی، زنجیرهای از کلاسها داریم:
کلاس B از A ارث میبره و کلاس C از B ارث میبره. در نتیجه C همهی ویژگیهای A و B رو داره.
🔹 نمونه کد ساده
📌 خروجی:
🔹 اجرای سازندهها در چند سطح
وقتی شیء کلاس آخر ساخته میشه، سازندهها به ترتیب از بالا به پایین اجرا میشن:
📌 خروجی:
🔹 انواع دسترسی (Access Specifier)
مثل وراثت عادی میتونیم تعیین کنیم کلاس بعدی public/protected/private ارثبری کنه:
-
اگر protected باشه، اعضای public در کلاس B به protected تبدیل میشن و برای C هم protected خواهند بود.
-
اگر private باشه، اعضای public و protected در B برای C دیگه قابل دسترس نیستن.
✅ نکات مهم
-
این مدل برای ساخت سلسلهمراتب منطقی (مثلاً Vehicle → Car → ElectricCar) عالیه.
-
ترتیب اجرا همیشه از کلاس پایه تا کلاس آخر هست.
-
اگر توابع همنام داشته باشیم، تابع کلاس پایینتر override میشه.