এখানে আমরা দেখব C++-এ কী কী টাইপ কনভার্সন টেকনিক রয়েছে। প্রধানত দুটি ধরনের টাইপ কনভার্সন রয়েছে। ইমপ্লিসিট (Implicit) এবং এক্সপ্লিসিট (Explicit)।
ইমপ্লিসিট টাইপ কনভার্সন
इसे অটোমেটিক টাইপ কনভার্সন ও বলা হয়। এটি কম্পাইলার স্বয়ংক্রিয়ভাবে করে ব্যবহারকারীর কোনো বাহ্যিক ট্রিগার ছাড়া। এটি তখন হয় যখন এক্সপ্রেশনে একাধিক ডেটা টাইপ থাকে।
সকল ডেটা টাইপ বড় ভেরিয়েবলের ডেটা টাইপে আপগ্রেড হয়।
bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
ইমপ্লিসিট কনভার্সনে কিছু তথ্য হারাতে পারে। সাইন হারাতে পারে ইত্যাদি।
উদাহরণ
#include <iostream> using namespace std; int main() { int a = 10; char b = 'a'; a = b + a; float c = a + 1.0; cout << "a : " << a << "\nb : " << b << "\nc : " << c; }আউটপুট
a : 107 b : a c : 108
এক্সপ্লিসিট টাইপ কনভার্সন
इसे টাইপ কাস্টিং (type casting) ও বলা হয়। এখানে ব্যবহারকারী ফলাফলকে টাইপকাস্ট করে নির্দিষ্ট ডেটা টাইপে রূপান্তর করতে পারে। C++-এ এটি দুটিভাবে করা যায়, এক্সপ্রেশনকে প্যারেনথেসিসে রাখা বা static_cast বা dynamic_cast ব্যবহার করে।
উদাহরণ
#include <iostream> using namespace std; int main() { double x = 1.574; int add = (int)x + 1; cout << "Add: " << add; float y = 3.5; int val = static_cast<int>(y); cout << "\nvalue: " << val; }আউটপুট
Add: 2 value: 3