কাঠামো এবং শ্রেণীর মধ্যে পার্থক্য

লেখক: Laura McKinney
সৃষ্টির তারিখ: 1 এপ্রিল 2021
আপডেটের তারিখ: 4 মে 2024
Anonim
সরকারি চাকরির গ্রেডিং সিস্টেম | বেতন স্কেল | অন্যান্য
ভিডিও: সরকারি চাকরির গ্রেডিং সিস্টেম | বেতন স্কেল | অন্যান্য

কন্টেন্ট


কাঠামো এবং শ্রেণি উভয়ই কাস্টমাইজড ডেটা টাইপ তৈরির একটি উপায় সরবরাহ করে যা উদাহরণগুলি তৈরি করতে আরও ব্যবহার করা যেতে পারে। সি ++ একটি শ্রেণি তৈরির জন্য কাঠামোর ভূমিকা প্রসারিত করে। কাঠামো এবং শ্রেণি উভয়ই একরকম পার্থক্য ব্যতীত একই ক্ষেত্রে একই রকম, ডিফল্টরূপে কাঠামোর সমস্ত সদস্যকে "পাবলিক" এবং ডিফল্টরূপে শ্রেণীর সব সদস্যই "ব্যক্তিগত" থাকে। আসুন তুলনা চার্ট ব্যবহার করে কাঠামো এবং শ্রেণীর মধ্যে পার্থক্য অধ্যয়ন করি।

  1. তুলনা রেখাচিত্র
  2. সংজ্ঞা
  3. মূল পার্থক্য
  4. মিল
  5. উপসংহার

তুলনা রেখাচিত্র

তুলনা করার জন্য বেসগঠনশ্রেণী
মৌলিক অ্যাক্সেস সুনির্দিষ্ট ঘোষিত না হলে ডিফল্টরূপে সমস্ত সদস্য সর্বজনীন।যদি অ্যাক্সেস সুনির্দিষ্ট ঘোষিত না হয় তবে ডিফল্টরূপে সমস্ত সদস্যই ব্যক্তিগত।
ঘোষণা কাঠামো কাঠামো_নাম {
স্ট্রাক_সংশ্লিষ্ট 1 টাইপ করুন;
স্ট্রাক_সংশ্লিষ্ট 2 টাইপ করুন;
স্ট্রাক_সংশ্লিষ্ট 3 টাইপ করুন;
.
.
.
};
শ্রেণি শ্রেণি_নাম {
তথ্য সদস্য;
সদস্য ফাংশন;
};
দৃষ্টান্ত কাঠামোর উদাহরণটিকে স্ট্রাকচার ভেরিয়েবল বলা হয়।শ্রেণীর উদাহরণকে অবজেক্ট বলা হয় called


কাঠামোর সংজ্ঞা

কাঠামো হ'ল বিবিধ ডেটা টাইপের ভেরিয়েবলের সংকলন, সমস্ত এক নামে উল্লেখ করা হয়। কাঠামোর ঘোষণাপত্র একটি টেম্পলেট গঠন করে যা কাঠামোর উদাহরণ তৈরি করতে ব্যবহৃত হয়। কাঠামো অনুসরণ হিসাবে ঘোষণা করা হয়।

স্ট্রাকের নাম {টাইপ স্ট্রাক_ এলিমেন্ট 1; স্ট্রাক্ট_লেমেন্ট 2 টাইপ করুন; type_element3 টাইপ করুন; । । । } ভেরিয়েবল 1, ভেরিয়েবল 2,। । ।

মূলশব্দ ‘স্ট্রাক্ট’ সংকলককে সংজ্ঞায়িত করে যে কোনও কাঠামো ঘোষিত হচ্ছে। ‘নাম’ কাঠামোর দেওয়া নামটি উপস্থাপন করে। কাঠামো ঘোষণাটি সর্বদা একটি সেমিকোলন দ্বারা সমাপ্ত হয়, কারণ এটি বিবৃতি হিসাবে বিবেচিত হয়। উপরের কোড (ভেরিয়েবল 1, ভেরিয়েবল 2) এর সমাপ্তির আগে আপনি কাঠামোর উদাহরণগুলি ঘোষণা করতে পারেন বা কাঠামোর নামের সাথে পূর্ববর্তী উদাহরণটি লিখে আপনি মূল () তে কাঠামোর উদাহরণটি ঘোষণা করতে পারেন।

// উদাহরণ। প্রধান () {নাম এস 1, এস 2; }

এখানে এস 1 এবং এস 2 হ'ল কাঠামোর উদাহরণ। কাঠামোর উদাহরণগুলিকে "স্ট্রাকচার ভেরিয়েবল" বলা হয়। কাঠামোর দেহের অভ্যন্তরে ঘোষিত উপাদানটি বিন্দু (।) অপারেটরের ব্যবহারের মাধ্যমে কাঠামোর ভেরিয়েবলের মাধ্যমে অ্যাক্সেস করা যায়।


// উদাহরণ এস 1। struct_element1;

  • কাঠামোর অ্যারেও তৈরি করা যেতে পারে, এর জন্য আপনাকে প্রথমে একটি কাঠামো ঘোষণা করতে হবে এবং তারপরে সেই ধরণের একটি অ্যারে ঘোষণা করতে হবে।

// স্যাম্পল স্ট্রাকের নাম সারে;

উপরের বিবৃতিটি দশটি ভেরিয়েবলযুক্ত ‘সারে’ নামের সাথে একটি অ্যারে তৈরি করে এবং প্রতিটি ভেরিয়েবল ‘নাম’ হিসাবে সংজ্ঞায়িত হিসাবে সংগঠিত হয়।

  • আপনি কোনও ফাংশনে কোনও স্ট্রাকচার সদস্যকে পাস করতে পারেন এবং আপনি একটি পুরো কাঠামো কোনও ফাংশনে পাস করতে পারেন।
  • যেমন, ইন্টিজার পয়েন্টার, অ্যারে পয়েন্টার, স্ট্রাকচার পয়েন্টারও কাঠামো ভেরিয়েবল নামের সামনের দিকে ‘*’ স্থাপন করে ঘোষণা করা যেতে পারে।

// স্যাম্পল স্ট্রাকের নাম * এস 1;

বিঃদ্রঃ:

‘কাঠামো’ উপাদানগুলিকে একটি স্বচ্ছ মেমরির স্থানে সংরক্ষণ করা হয়।

ক্লাস সংজ্ঞা

ক্লাসের ওওপিতে একটি নতুন ধরণের সংজ্ঞা দেওয়া হয় যার মধ্যে ডেটা সদস্য এবং সদস্য ফাংশন থাকে যা শ্রেণীর ডেটা সদস্যদের অ্যাক্সেস করতে ব্যবহার করা হয়। ক্লাসগুলির উদাহরণগুলিকে "অবজেক্ট" বলা হয় যার প্রত্যেকটিরই ক্লাসের মতো একই সংস্থা রয়েছে। শ্রেণিটি একটি যৌক্তিক বিমূর্ততা, অন্যদিকে, কোনও বস্তুর দৈহিক অস্তিত্ব থাকে। শ্রেণিটি কাঠামোগতভাবে কাঠামোর মতো। ক্লাসটি অনুসরণ হিসাবে ঘোষণা করা যেতে পারে।

শ্রেণীর শ্রেণী_নাম {ব্যক্তিগত ডেটা সদস্য এবং সদস্য ফাংশন। অ্যাক্সেস_স্পেসিফায়ার টাইপ ডেটা_ মেম্বার; টাইপ করুন mem_funct (পরামিতি তালিকা) {। । }} অবজেক্টের তালিকা;

এখানে ক্লাসটি এমন একটি কীওয়ার্ড যা সংকলককে ক্লাস ঘোষিত হয়েছে বলে ঘোষণা করে। ওওপির মূল বৈশিষ্ট্য হ'ল ডেটা লুকানো যা "জনসাধারণ", "ব্যক্তিগত", "সুরক্ষিত" এমন তিনটি অ্যাক্সেস স্পেসিফায়ার সরবরাহ করে সম্পন্ন হয়। ডেটা সদস্য বা সদস্য ফাংশন ঘোষণার সময় আপনি ক্লাসে কোনও অ্যাক্সেস সুনির্দিষ্ট নির্দিষ্ট না করে থাকলে, ডিফল্টরূপে সমস্ত ব্যক্তিগত বিবেচনা করা হয়। সর্বজনীন অ্যাক্সেস নির্দিষ্টকরণকারী আপনার প্রোগ্রামের অন্যান্য অংশগুলি দ্বারা অ্যাক্সেস করার অনুমতি দেয়, ফাংশন বা ডেটা। শ্রেণীর ব্যক্তিগত সদস্যরা কেবলমাত্র সেই শ্রেণীর সদস্যের দ্বারা অ্যাক্সেস করতে পারবেন। সুরক্ষিত অ্যাক্সেস স্পেসিফায়ার উত্তরাধিকারের সময় প্রয়োগ করা হয়। আপনি একবার অ্যাক্সেস নির্দিষ্টকরণকারী ঘোষণা করার পরে, এটি পুরো প্রোগ্রাম জুড়ে পরিবর্তন করা যাবে না।

ক্লাসগুলির উদাহরণ ব্যতীত বস্তুগুলি কিছুই নয়। ক্লাসের সদস্যরা বিন্দু (।) অপারেটর ব্যবহার করে একই শ্রেণীর অবজেক্ট দ্বারা অ্যাক্সেস করতে পারে।

//object.mem_funct (যুক্তি);

  • কোনও ফাংশনের আর্গুমেন্ট হিসাবে বস্তুটিও পাস করা যেতে পারে।
  • কোনও বস্তুর পয়েন্টারও তৈরি করা যায়।
  1. কাঠামো এবং শ্রেণীর মধ্যে প্রধান পার্থক্য হ'ল ডিফল্টরূপে কাঠামোর সমস্ত সদস্য সর্বজনীন যেখানে ডিফল্টরূপে শ্রেণীর সমস্ত সদস্যই ব্যক্তিগত।

মিল:

  • সি ++ তে কাঠামো এবং শ্রেণি উভয়ই সিন্টেক্সিকভাবে সমতুল্য।
  • কাঠামো এবং শ্রেণি উভয়ই তাদের কিছু সদস্যকে ব্যক্তিগত ঘোষণা করতে পারে।
  • কাঠামো বা শ্রেণীর নামটি একা একা টাইপ হিসাবে ব্যবহার করা যেতে পারে।
  • কাঠামো এবং একটি শ্রেণি উভয়ই উত্তরাধিকারের প্রক্রিয়াটিকে সমর্থন করে।

উপসংহার:

সিতে কাঠামোর কিছু সীমাবদ্ধতা ছিল কারণ কাঠামোটি তথ্য গোপনের অনুমতি দেয় না, ‘স্ট্রাক্ট’ ডেটাটাইপটি অন্তর্নির্মিত ধরণের মতো আচরণ করা যায়নি, কাঠামোগুলি উত্তরাধিকার সমর্থন করে না। সি ++ তে কাঠামো এই সীমাবদ্ধতাগুলি অতিক্রম করেছে। সি ++ তে ক্লাসগুলি কাঠামোর প্রসারিত সংস্করণ। প্রোগ্রামার ক্লাসটি ডেটা ধরে রাখতে এবং উভয়ই ফাংশন করতে এবং কাঠামো কেবল ডেটা ধরে রাখার জন্য ব্যবহার করা সহজ বলে মনে করে।