C++ একটি মধ্য-স্তরের ভাষা হিসাবে বিবেচিত হয়, কারণ এটি উচ্চ-স্তরের এবং নিম্ন-স্তরের ভাষা বৈশিষ্ট্যের সমন্বয়ে গঠিত। এটি সি-এর একটি সুপারসেট, এবং কার্যত যেকোনো আইনি সি প্রোগ্রাম একটি আইনি সি++ প্রোগ্রাম। C++ বিভিন্ন প্ল্যাটফর্মে চলে, যেমন Windows, Mac OS, এবং UNIX-এর বিভিন্ন সংস্করণ। নিচে C++ এর কিছু বৈশিষ্ট্য রয়েছে যা এটিকে অন্যান্য প্রোগ্রামিং ভাষার মধ্যে আলাদা করে তোলে -
- মাল্টি-প্যারাডাইম ভাষা − C++ হল একটি ভাষা যা পদ্ধতিগত, অবজেক্ট-ওরিয়েন্টেড এবং জেনেরিক প্রোগ্রামিং সমর্থন করে। এটি এটিকে বহুমুখী করে তোলে।
- পয়েন্টার এবং রেফারেন্সের ব্যবহার − C++ পয়েন্টার এবং রেফারেন্স সমর্থন করে যা ব্যবহারকারীকে সরাসরি মেমরির সাথে ডিল করতে দেয় এবং প্রোগ্রামারকে সমস্ত নিয়ন্ত্রণ দেয়। এটি নিম্ন-স্তরের কাজ এবং খুব জটিল প্রকল্পগুলির জন্য এটিকে খুব উপযুক্ত করে তোলে৷
- স্ট্যাটিকলি টাইপ করা হয়েছে − একটি ভাষা স্ট্যাটিকভাবে টাইপ করা হয় যদি কম্পাইলের সময় একটি ভেরিয়েবলের ধরন জানা যায়। কিছু ভাষার জন্য, এর মানে হল যে আপনি প্রোগ্রামার হিসাবে প্রতিটি ভেরিয়েবল কি ধরনের তা নির্দিষ্ট করতে হবে। এখানে প্রধান সুবিধা হল যে কম্পাইলার দ্বারা সমস্ত ধরণের পরীক্ষা করা যেতে পারে, এবং তাই অনেকগুলি তুচ্ছ বাগ খুব প্রাথমিক পর্যায়ে ধরা পড়ে৷
- C++ আপনাকে বিভিন্ন ধরনের (বস্তু?) জন্য একটি অপারেটরের জন্য একাধিক সংজ্ঞা নির্দিষ্ট করতে দেয় যাকে অপারেটর ওভারলোডিং বলা হয়। এটি ব্যবহারকারীদের এমনকি খুব জটিল প্রকারগুলিকে অন্তর্নির্মিত প্রকার হিসাবে বিবেচনা করতে দেয়৷
- একটি ইন্টারফেস একটি C++ ক্লাসের আচরণ বা ক্ষমতা বর্ণনা করে সেই ক্লাসের কোনো নির্দিষ্ট বাস্তবায়নের প্রতিশ্রুতি ছাড়াই। C++ ইন্টারফেসগুলি বিমূর্ত ক্লাস ব্যবহার করে প্রয়োগ করা হয় এবং এই বিমূর্ত শ্রেণীগুলিকে ডেটা বিমূর্তকরণের সাথে বিভ্রান্ত করা উচিত নয় যা সংশ্লিষ্ট ডেটা থেকে বাস্তবায়নের বিবরণকে আলাদা রাখার একটি ধারণা।
- মাল্টিপল ইনহেরিটেন্স হল C++ এর একটি বৈশিষ্ট্য যেখানে একটি শ্রেণী একাধিক শ্রেণী থেকে উত্তরাধিকারী হতে পারে। উত্তরাধিকারসূত্রে প্রাপ্ত শ্রেণীগুলির নির্মাণকারীকে একই ক্রমে বলা হয় যেভাবে তারা উত্তরাধিকার সূত্রে প্রাপ্ত হয়। ধ্বংসকারীকে কনস্ট্রাক্টরের বিপরীত ক্রমে বলা হয়। একাধিক উত্তরাধিকার বস্তুটিকে একাধিক ধরণের হতে দেয় এবং তাই প্রোগ্রামে বাস্তব-বিশ্বের মডেলিং খুব সহজ করে তোলে৷
- lvalues হিসাবে টারনারি অপারেটর ব্যবহার করা
- অটো কীওয়ার্ড যা প্রোগ্রামারকে হস্তক্ষেপ করার প্রয়োজন ছাড়াই স্বয়ংক্রিয়ভাবে ডিডাকশন টাইপ করে।
C++ ভাষা দ্বারা সমর্থিত আরও অনেক বৈশিষ্ট্য রয়েছে৷ এই ধরনের বৈশিষ্ট্যগুলির একটি সম্পূর্ণ তালিকা তৈরি করা সম্ভব নয়। আপনার নিজের থেকে এই ধরনের আরও বৈশিষ্ট্য আবিষ্কার করতে ডক্স দেখুন!