Logo fa.boatexistence.com

چگونه ابهام در وراثت چندگانه رخ می دهد؟

فهرست مطالب:

چگونه ابهام در وراثت چندگانه رخ می دهد؟
چگونه ابهام در وراثت چندگانه رخ می دهد؟

تصویری: چگونه ابهام در وراثت چندگانه رخ می دهد؟

تصویری: چگونه ابهام در وراثت چندگانه رخ می دهد؟
تصویری: 02_خدا بزرگ نیست | نوشته کریستوفر هیچنز | مترجم: بهمنیار | گویش: محمد اقبالیان | کتاب صوتی آوای بوف 2024, ممکن است
Anonim

ابهامی که هنگام استفاده از وراثت چندگانه ایجاد می شود به یک کلاس مشتق شده با بیش از یک کلاس والد اشاره دارد که دارایی[ها] و/یا متد[ها] را با همان نام تعریف می کند.برای مثال، اگر «C» از هر دو «A» و «B» و کلاس‌های «A» و «B» به ارث می‌برد، هر دو یک ویژگی به نام x و یک تابع به نام getx را تعریف می‌کنند.

ابهام در وراثت چندگانه چیست؟

ابهام عمدتاً در وراثت چندگانه می آید دو کلاس پایه دارای توابعی با نام یکسان هستند، در حالی که کلاسی که از هر دو کلاس پایه مشتق شده است هیچ تابعی با این نام ندارد. وقتی تابع را با شیء کلاس مشتق شده فراخوانی می کنیم، کامپایلر نمی تواند بفهمد که منظور کدام یک از این دو تابع است.

آیا احتمال ابهامی در مفهوم وراثت چندگانه وجود دارد؟

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

چه ابهامی در وراثت چندگانه ایجاد می شود و چگونه می توان آن را برطرف کرد؟

وقتی چندین مسیر به یک کلاس از یک کلاس پایه یکسان وجود داشته باشد یک ابهام ممکن است ایجاد شود. این را می توان با استفاده از یک کلاس پایه مجازی حل کرد. … چنین کلاس پایه ای به عنوان کلاس پایه مجازی شناخته می شود.

وراثت ابهام چیست چگونه با مثال غلبه می کنید؟

برای مثال، فرض کنید دو کلاس به نام های A و B هر دو دارای عضوی به نام x هستند و کلاسی به نام C از A و B به ارث می برد.تلاش برای دسترسی به x از کلاس C مبهم خواهد بود. می‌توانید ابهامات را با واجد شرایط کردن یک عضو با نام کلاسش با استفاده از عملگربا وضوح دامنه (::) برطرف کنید.

توصیه شده: