একাধিক উত্তরাধিকার নিয়ে যখন বেশিরভাগ সমস্যা পূর্ণাঙ্গ শ্রেণীর সাথে ব্যবহৃত হয় তখন সেগুলির মধ্যে অনেকগুলি সমস্যা রয়েছে তবে তারা সমস্তই দ্ব্যর্থহীনতার আশেপাশে ঘুরে ।
অস্পষ্টতা কয়েকটি ভিন্ন উপায়ে প্রদর্শিত হয়:
- যদি আপনার একই ক্ষেত্রের সাথে দুটি বেস ক্লাস থাকে
x
, এবং উত্পন্ন প্রকারটি জিজ্ঞাসা x
করে, এটি কী পায়?
- দুটি
x
ভেরিয়েবলের যদি অসংলগ্ন প্রকার থাকে তবে আপনি এটি নির্ধারণ করতে পারেন।
- যদি তারা একই ধরণের হয় তবে আপনি তাদের একই ভেরিয়েবলে একত্রীকরণের চেষ্টা করতে পারেন।
- আপনি সর্বদা তাদের অদ্ভুত পুরোপুরি যোগ্য নাম হিসাবে প্রকাশ করতে পারেন।
- আপনার যদি একই ফাংশনযুক্ত দুটি
f
স্বতন্ত্র স্বাক্ষর সহ দুটি বেস ক্লাস থাকে , এবং কেউ কল করে f
, যা ডাকা হয়?
- যদি দুটি বেস শ্রেণি একটি অন্য সাধারণ ভার্চুয়াল পূর্বপুরুষ (হীরা সমস্যা) ভাগ করে নেয়।
- যদি ফাংশনটির আলাদা, তবে সামঞ্জস্যপূর্ণ স্বাক্ষর থাকে?
- আপনি যখন দুটি বেস ক্লাস সহ একটি ক্লাস বানাবেন, তখন বেস ক্লাসের কনস্ট্রাক্টরকে প্রথমে বলা হয়? আপনি যখন বস্তুটি ধ্বংস করেন, তখন কোনটি মারা যায়?
- আপনি যখন মেমরিটিতে অবজেক্টটি রাখেন, আপনি কীভাবে এটি ধারাবাহিকভাবে করবেন?
- 3 বেস ক্লাস দিয়ে আপনি এই সমস্ত কেস কিভাবে পরিচালনা করবেন? 10?
এবং এটি গতিশীল প্রেরণ, টাইপ অনুমান, প্যাটার্ন ম্যাচিং এবং আমি কম জানি এমন জিনিসগুলিকে উপেক্ষা করে যেগুলি যখন ভাষা সম্পূর্ণ শ্রেণীর একাধিক উত্তরাধিকারকে সমর্থন করে তখন আরও চ্যালেঞ্জ হয়ে ওঠে।
বৈশিষ্ট্য বা মিক্স-ইনস (বা ইন্টারফেস, বা ...) হ'ল সমস্ত গঠন যা বিশেষত কোনও প্রকারের ক্ষমতা সীমাবদ্ধ করে যাতে কোনও অস্পষ্টতা না থাকে। এগুলি নিজেরাই খুব কমই নিজেরাই করে থাকে। এটি ধরণের সংমিশ্রণটি মসৃণ হতে দেয় কারণ দুটি ভেরিয়েবল বা দুটি ফাংশন নেই ... একটি পরিবর্তনশীল এবং একটি রেফারেন্স রয়েছে; একটি ফাংশন এবং একটি স্বাক্ষর। সংকলক জানে কী করতে হবে।
গৃহীত অন্যান্য সাধারণ পদ্ধতি হ'ল ব্যবহারকারীকে একবারে তাদের টাইপটি "বিল্ড" করতে (বা মিশ্রিত করতে) বাধ্য করা। নতুন শ্রেণিতে বেস ক্লাসগুলি সমান অংশীদার হওয়ার পরিবর্তে আপনি এক প্রকারে অন্যটিতে যুক্ত করুন - যা কিছু ছিল তা ওভাররাইড করে (সাধারণত reচ্ছিক সিনট্যাক্স সহ পুনরায় নামকরণ এবং / অথবা ওভাররাইড বিটগুলি পুনরায় প্রকাশ করতে)।
এমন কি এমন কিছু আছে যা মিশিন / বৈশিষ্ট্যগুলি দিয়ে সম্ভব নয় তবে সি ++ - স্টাইলের একাধিক উত্তরাধিকারের সাথে সম্ভব?
ভাষার উপর নির্ভর করে - একাধিক বেস শ্রেণি থেকে ভেরিয়েবলের জন্য ফাংশন এবং স্টোরেজ বাস্তবায়নের একীভূত করা এবং এটিকে উত্পন্ন ধরণে প্রকাশ করা সাধারণত ঝামেলা বা অসম্ভব হয়ে ওঠে ।
তাদের সাথে হীরা সমস্যাটি চালানো কি সম্ভব?
মাঝে মাঝে কম মারাত্মক প্রকরণগুলি আপনার ভাষার উপর ভিত্তি করে পপ আপ হয়ে যায়, তবে সাধারণত হয় না। বৈশিষ্ট্যগুলির সম্পূর্ণ বিন্দুটি হ'ল ধরণের অস্পষ্টতা ভাঙা।