Blog
C and C++ মূল পার্থক্য
C++-এ “class” ও “object” থাকে, কিন্তু C-তে এগুলো নেই।
C হচ্ছে একটি “procedural programming language” (ধাপে ধাপে নির্দেশ দেয়া), আর C++ হচ্ছে “object-oriented programming language” (বস্তুভিত্তিক প্রোগ্রামিং)।
বাস্তব উদাহরণ:
ধরো তুমি একটা গাড়ি তৈরি করছো।
C ভাষায় (procedural):
তুমি আলাদা আলাদা ফাংশন বানাবে—
startCar()
stopCar()
fuelLevel()
এখানে গাড়ির অবস্থা (data) আর কাজ (function) আলাদা আলাদা। সব কিছু গ্লোবালি বা আলাদা হ্যান্ডেল করতে হয়।
যেন মাথা আর হাত-পা আলাদা কন্ট্রোলে চলে।
C++ ভাষায় (object-oriented):
তুমি একটা class Car বানাবে।
তারপর তুমি object বানাবে:
এখানে Car
ক্লাসটা হচ্ছে গাড়ির ডিজাইন, আর myCar
হচ্ছে সেই ডিজাইন থেকে বানানো আসল গাড়ি। ডেটা আর কাজ — দুটোই একসাথে প্যাকেট করা থাকে ক্লাসের ভিতর।
মাথা, হাত, পা — সব কিছু মিলিয়ে একসাথে একটা মানুষ।
সংক্ষেপে পার্থক্য:
দিক | C | C++ |
---|---|---|
ধরণ | Procedural | Object-Oriented |
ক্লাস/অবজেক্ট | নেই | আছে |
ইনক্যাপসুলেশন (Encapsulation) | নেই | আছে |
কোড পুনঃব্যবহার | কঠিন | সহজ (Inheritance) |
উদাহরণ | printf() , scanf() | class , object , cout , cin |
সহজভাবে মনে রাখো:
C হচ্ছে যন্ত্রের মত — শুধু কাজ করে, কিন্তু কোনো স্মৃতি বা নিজস্ব চিন্তা নেই।
C++ হচ্ছে মানুষের মত — নিজের তথ্য রাখে, কাজ করে, সিদ্ধান্ত নিতে পারে।
উদাহরণ: ফুটবল খেলা ও প্লেয়ার
🔹 Class = প্লেয়ার এর ডিজাইন / ব্লুপ্রিন্ট
ধরো, তুমি বলছো:
“আমাকে একজন ফুটবল প্লেয়ার বানাতে হবে।”
তুমি কল্পনা করছো—
নাম থাকবে
জার্সি নাম্বার থাকবে
গোল করতে পারবে
দৌড়াতে পারবে
তুমি এই ডিজাইনটা লিখে রাখছো → এটাই হচ্ছে class।
Object = আসল প্লেয়ার
এখন তুমি বললে:
“এই ডিজাইন থেকে আমি একজন প্লেয়ার তৈরি করব। তার নাম হবে ‘Jubayer’, আর জার্সি নাম্বার 10।”
এটাই হচ্ছে object – class থেকে তৈরি বাস্তব রূপ।
মনে রাখার সহজ ফর্মুলা:
উপাদান | মানে |
---|---|
Class | প্লেয়ারের নকশা / ছক |
Object | সেই নকশা থেকে তৈরি আসল মানুষ |
Function | সেই মানুষ কী কী কাজ করতে পারে (গোল দেওয়া, দৌড়ানো) |
Property | তার নাম, নাম্বার, গতি ইত্যাদি |
সংক্ষেপে:
Class = “ফুটবল প্লেয়ার বলতে কী বুঝি?” – ডিজাইন
Object = Jubayer, Messi, Ronaldo – ডিজাইন থেকে তৈরি আসল খেলোয়াড়