C++-এ ৫টি বেসিক এরিথমেটিক অপারেটর রয়েছে। এগুলো হল:
- যোগ (+)
- বিয়োগ (-)
- ভাগ (/)
- গুণ (*)
- মডুলো (%)
উদাহরণ
এই অপারেটরগুলো C++-এ যেকোনো এরিথমেটিক অপারেশনে কাজ করতে পারে। একটি উদাহরণ দেখে নিই:
#include <iostream>
using namespace std;
main() {
int a = 21;
int b = 10;
int c ;
c = a + b;
cout << "Line 1 - Value of c is :" << c << endl ;
c = a - b;
cout << "Line 2 - Value of c is :" << c << endl;
c = a * b;
cout << "Line 3 - Value of c is :" << c << endl;
c = a / b;
cout << "Line 4 - Value of c is :" << c << endl;
c = a % b;
cout << "Line 5 - Value of c is :" << c << endl;
return 0;
}
আউটপুট
Line 1 - Value of c is :31
Line 2 - Value of c is :11
Line 3 - Value of c is :210
Line 4 - Value of c is :2
Line 5 - Value of c is :1
C++-এ কিছু কম্পাউন্ড এরিথমেটিক অপারেটরও রয়েছে। কম্পাউন্ড এরিথমেটিক অ্যাসাইনমেন্ট অপারেটরগুলো e1 op= e2 ফর্মে নির্দিষ্ট করা হয়, যেখানে e1 হল একটি মোডিফাইযোগ্য l-value (const নয়) এবং e2 হল নিম্নলিখিত مواردে যেকোনো একটি:
- একটি এরিথমেটিক টাইপ
- একটি পয়েন্টার, যদি
op+ বা - হয়
e1 op= e2 ফর্মটি e1 = e1 op e2-এর মতো বর্তাবে, তবে e1 শুধু একবার ইভ্যালুয়েট করা হয়।
C++-এ নিম্নলিখিত কম্পাউন্ড এরিথমেটিক অ্যাসাইনমেন্ট অপারেটরগুলো রয়েছে:
| অপারেটর | বিবরণ |
|---|---|
| *= | প্রথম অপারেন্ডের মানকে দ্বিতীয় অপারেন্ডের মান দিয়ে গুণ করুন; ফলাফলটি প্রথম অপারেন্ড দ্বারা নির্দিষ্ট অবজেক্টে সংরক্ষণ করুন। |
| /= | প্রথম অপারেন্ডের মানকে দ্বিতীয় অপারেন্ডের মান দিয়ে ভাগ করুন; ফলাফলটি প্রথম অপারেন্ড দ্বারা নির্দিষ্ট অবজেক্টে সংরক্ষণ করুন। |
| %= | প্রথম অপারেন্ডের মডুলাস নিন দ্বিতীয় অপারেন্ডের মান দ্বারা নির্দিষ্ট; ফলাফলটি প্রথম অপারেন্ড দ্বারা নির্দিষ্ট অবজেক্টে সংরক্ষণ করুন। |
| += | দ্বিতীয় অপারেন্ডের মান প্রথম অপারেন্ডের সাথে যোগ করুন; ফলাফলটি প্রথম অপারেন্ড দ্বারা নির্দিষ্ট অবজেক্টে সংরক্ষণ করুন। |
| -= | প্রথম অপারেন্ডের মান থেকে দ্বিতীয় অপারেন্ডের মান বিয়োগ করুন; ফলাফলটি প্রথম অপারেন্ড দ্বারা নির্দিষ্ট অবজেক্টে সংরক্ষণ করুন। |
নোট: মূল টেবিলে /= দুবার ভুলভাবে লেখা ছিল, এখানে সংশোধন করা হয়েছে।
কম্পাউন্ড অপারেটর ব্যবহারের উদাহরণ
#include <iostream>
using namespace std;
int main() {
int a = 3, b = 2;
a += b;
cout << a << endl;
a -= b;
cout << a << endl;
a *= b;
cout << a << endl;
a /= b;
cout << a << endl;
return 0;
}
এটি নিম্নলিখিত আউটপুট দেবে:
5
3
6
3
দ্রষ্টব্য: এনামারেটেড টাইপে কম্পাউন্ড অ্যাসাইনমেন্ট এরর জেনারেট করে। যদি বাম অপারেন্ড পয়েন্টার টাইপের হয়, তবে ডান অপারেন্ডও পয়েন্টার টাইপের হতে হবে অথবা 0 ইভ্যালুয়েট হওয়া একটি কনস্ট্যান্ট এক্সপ্রেশন হতে হবে। যদি বাম অপারেন্ড ইন্টিগ্রাল টাইপের হয়, তবে ডান অপারেন্ড পয়েন্টার টাইপের নাও হতে পারে।