Array of Objects C++ Example: C++ में जिस तरह Data Member के रूप में किसी Object में Array हो सकता है उसी तरह से किसी Array में Objects भी हो सकते हैं। यानी एक ऐसा Array भी Create किया जा सकता है जिसमें किसी Class के बहुत सारे Objects हों।
उदाहरण के लिए यदि हम चाहें कि हम 10 Employees की Information को Memory में Store करें, तो हमें Employees का एक Array Create करना होगा। इस Array का हर Element एक Employee को Refer करेगा।
किसी Objects का Array Create करने के लिए हम वही तरीका अपनाते हैं जो हम किसी Primary Data Type Variable को Array के रूप में Create करने के लिए अपनाते हैं। उदाहरण के लिए यदि हम चाहें कि हम 10 Employees की Information को किसी Array में Hold करें तो हमें निम्नानुसार Employees का Array बनाना होगा:
employee emp[10];
अब हम Loops का प्रयोग करके इस Array में विभिन्न Employees की Information को Store कर सकते हैं और वापस Screen पर Display कर सकते हैं। चलिए, हम वापस से Time Class को लेते हैं और Time Class के Objects का एक Array Create करते हैं।
Array of Time Objects
हमने जिस Time Class को पिछले पन्नों में Use किया है वही Time Class यहां पर भी Use कर रहे हैं। Array of Time Objects को समझने के लिए निम्न उदाहरण देखिए:
Program #include <iostream.h> #include <iomanip.h> // for setw(), etc. class Time { private: int minutes; // 0 to 59 int hours; // 0 to 23 public: void set() { char dummy; // for colon cout << “Enter time (format 23:59): "; cin >> hours >> dummy >> minutes; } void display() { cout << hours << ':' << setfill('0') << setw(2) << minutes; } }; void main() { Time Times[20]; // array of 20 Times objects int n=0; // number of airtimes in array char choice; do { // get time from user cout << “Times ” << n << “. "; Times[n++].set(); // and insert in array cout << “Do another (y/n)? "; cin >> choice; } while(choice != 'n'); for(int j=0; j<n; ++j) // display every airtime { // in the array cout << “\nTimes ” << j << “ = "; Times[j].display(); } }
इस Program का User Interaction निम्नानुसार होता है:
Times 0. Enter time (format 23:59): 10.10 Do another (y/n)? y Times 1. Enter time (format 23:59): 12.5 Do another (y/n)? y Times 2. Enter time (format 23:59): 15.3 Do another (y/n)? y Times 3. Enter time (format 23:59): 5.7 Do another (y/n)? n Times 0 = 10:10 Times 1 = 12:05 Times 2 = 15:03 Times 3 = 5:07
इस Program में सबसे महत्वपूर्ण Statement Times[n++].set() है जो Times Object के Array के Index Number n पर Data Store करता है और फिर n का Increment हो जाता है, जिससे Times Object अगली बार अगले Index Number पर Data को Store करता है। दूसरा Statement Times[j].display() है जो j के Index number वाले Data को Output में Display कर देता है।
इसी तरह से हम Employee Class के Objects का भी Array Create कर सकते हैं और अपनी जरूरत के अनुसार कई Employees की information को Memory में Store कर सकते हैं।
Array की सबसे बडी समस्या ये है कि हमें पहले ही Array की Size तय करके ये बताना होता है कि हमें कितने Objects को Memory में Store करना है। यदि हम आवश्यकता से अधिक Size का Array Declare करें तो बाकी बची Memory फालतु रहती है और यदि आवश्यकता से कम Size लें, तो Program Crash हो सकता है। इस स्थिति से निकलने के लिए हम Linked List Data Structure या एक ऐसे Array का प्रयोग करते हैं, जो कि Objects का Pointer होता है। इन Data Structures का प्रयोग करके हम Memory को Wasted होने से बचा सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C++ Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C++ Programming Language in Hindi | Page: 666 | Format: PDF