এখানে একটি সহজ C++ প্রোগ্রাম দেখানো হয়েছে যেখানে একটি ক্লাসের ভিতরে ডাইনামিক ২D অ্যারে তৈরি করে উপাদানগুলো প্রিন্ট করা হয়েছে।
এলগরিদম
শুরু Arr ক্লাস তৈরি করুন এবং অ্যারের আকার ঘোষণা করুন ক্লাসের ভিতরে ফর লুপ দিয়ে সব উপাদান ইনিশিয়ালাইজ করুন সব উপাদান প্রিন্ট করুন শেষ
উদাহরণ কোড
#include <iostream>
#include <stdlib.h>
using namespace std;
const int M = 7;
class Arr {
private:
int A[M];
int size;
public:
Arr(int s, int v) {
if (s > M) {
cout << endl << "This is beyond maximum size";
exit(1);
}
size = s;
for (int i = 0; i < size; i++)
A[i] = v;
}
// সাবস্ক্রিপ্ট অপারেটর ওভারলোডিং
int& operator[](int i) {
if ((i < 0) || (i >= size)) {
cout << endl << "Error: Array out of bound";
exit(1);
}
return A[i];
}
};
int main() {
int i = 0;
Arr a(7, 0); // আকার ৭, ইনিশিয়াল ভ্যালু ০
for (i = 0; i < 7; i++)
a[i] = i * 10; // operator[] ব্যবহার
cout << "Array elements are:" << endl;
for (i = 0; i < 7; i++) {
int val = a[i];
cout << val << endl;
}
return 0;
}
আউটপুট
Array elements are: 0 10 20 30 40 50 60
দ্রষ্টব্য: এই উদাহরণে স্ট্যাটিক অ্যারে A[M] ক্লাসের মেম্বার। আসল ডাইনামিক ২D অ্যারে হলে int** A ব্যবহার করে কনস্ট্রাক্টরে new int*[rows] এবং প্রতিটি রোয়ের জন্য new int[cols] অ্যালোকেট করতে হয়। ডেস্ট্রাক্টরে delete[] দিয়ে মেমরি মুক্ত করতে হয়। উপরের কোডটি মূলত operator[] ওভারলোডিং দিয়ে বাউন্ড চেকিং দেখাচ্ছে।