Arrays of Objects in C++ Notes | Object Array, Declaration, Initialization & Examples | Basic Computer Engineering | RGPV BTech First Year

Arrays of Objects in C++ Notes | Object Array, Declaration, Initialization & Examples | Basic Computer Engineering | RGPV BTech First Year


Arrays of Objects in C++

Array of Objects C++ का एक महत्वपूर्ण Object Oriented Programming Concept है जिसमें एक ही Class के अनेक Objects को एक Array के रूप में Store किया जाता है। प्रत्येक Element स्वयं एक पूर्ण Object होता है तथा उसके अपने Data Members एवं Member Functions होते हैं।

यदि किसी Program में समान प्रकार (Same Type) के अनेक Objects को Manage करना हो, तो प्रत्येक Object के लिए अलग-अलग Variable बनाने के बजाय Array of Objects का उपयोग किया जाता है। इससे Program अधिक व्यवस्थित (Organized), सरल (Simple) तथा Maintainable बन जाता है।

RGPV B.Tech First Year के Basic Computer Engineering Subject में Arrays of Objects एक महत्वपूर्ण Topic है। University Examination, Practical तथा Viva में Declaration, Initialization, Constructor with Object Array तथा Programs से संबंधित प्रश्न नियमित रूप से पूछे जाते हैं।

Class



Multiple Objects



Object Array



Access Individual Objects

Introduction to Arrays of Objects

सामान्य Array में एक ही Data Type (जैसे Integer, Float अथवा Character) के अनेक Elements Store किए जाते हैं। उसी प्रकार Array of Objects में किसी Class के अनेक Objects Store किए जाते हैं।

प्रत्येक Object का अपना अलग Data होता है, लेकिन सभी Objects एक ही Class की Properties तथा Member Functions का उपयोग करते हैं। Object Arrays विशेष रूप से Student Management System, Employee Records तथा Inventory Management जैसी Applications में उपयोग किए जाते हैं।


What is an Array of Objects?

Array of Objects वह Array है जिसके प्रत्येक Element का Data Type कोई Class होता है। अर्थात Array का प्रत्येक Element एक अलग Object होता है।

Student s[5];

ऊपर दिए गए उदाहरण में s नाम का Array बनाया गया है जिसमें Student Class के पाँच Objects Store किए जा सकते हैं।


Need of Arrays of Objects

जब समान प्रकार के अनेक Objects को एक साथ Store तथा Manage करना हो, तब Array of Objects का उपयोग किया जाता है। इससे Code छोटा, व्यवस्थित तथा Reusable बनता है।

  • एक ही Class के अनेक Objects Store करने के लिए।
  • Code Duplication कम करने के लिए।
  • Student, Employee तथा Product Records Manage करने के लिए।
  • Loop के माध्यम से सभी Objects पर समान Operation करने के लिए।
  • Memory को व्यवस्थित रूप से उपयोग करने के लिए।
  • Program को Modular एवं Maintainable बनाने के लिए।
  • Professional Object Oriented Applications विकसित करने के लिए।

Advantages of Arrays of Objects

Advantage Description
Easy Management अनेक Objects को एक ही Array में व्यवस्थित रखा जा सकता है।
Code Reusability Loop द्वारा सभी Objects पर समान Operation किया जा सकता है।
Better Organization Program अधिक व्यवस्थित एवं समझने योग्य बनता है।
Reduced Code अलग-अलग Object Variables बनाने की आवश्यकता नहीं होती।
Efficient Data Handling Large Number of Objects को आसानी से Process किया जा सकता है।

Characteristics of Arrays of Objects

Array of Objects की कई महत्वपूर्ण विशेषताएँ (Characteristics) होती हैं जो इसे सामान्य Arrays से अलग बनाती हैं। इसमें प्रत्येक Array Element स्वयं एक पूर्ण Object होता है तथा उसके अपने Data Members एवं Member Functions होते हैं।

  • Array का प्रत्येक Element एक Object होता है।
  • सभी Objects एक ही Class के होते हैं।
  • प्रत्येक Object का अपना अलग Data होता है।
  • सभी Objects समान Member Functions का उपयोग करते हैं।
  • Objects को Index Number द्वारा Access किया जाता है।
  • Loop की सहायता से सभी Objects पर एक साथ Operation किया जा सकता है।
  • Large Number of Records को Efficient तरीके से Manage किया जा सकता है।

Declaration of Array of Objects

Object Array Declare करने के लिए Class Name के बाद Array Name तथा उसका Size लिखा जाता है।

ClassName arrayName[size];

उदाहरण:

Student students[10];

ऊपर दिए गए उदाहरण में students नाम का Array बनाया गया है जिसमें Student Class के 10 Objects Store किए जा सकते हैं।


Initialization of Array of Objects

यदि Class में उपयुक्त Constructor उपलब्ध हो, तो Object Array को Declaration के समय भी Initialize किया जा सकता है।

Student s[3] = { Student(101), Student(102), Student(103) };

ऊपर दिए गए उदाहरण में तीन Objects Constructor की सहायता से Initialize किए गए हैं।


Accessing Objects in an Array

Object Array के प्रत्येक Object को उसके Index Number द्वारा Access किया जाता है। किसी Object के Member को Access करने के लिए Dot Operator (.) का उपयोग किया जाता है।

students[0].display(); students[1].display(); students[2].display();

यहाँ students[0], students[1] तथा students[2] अलग-अलग Objects हैं जिनके Member Functions Call किए गए हैं।


Example of Array of Objects

#include<iostream> using namespace std; class Student { public: int roll; void display() { cout << roll << endl; } }; int main() { Student s[3]; s[0].roll = 101; s[1].roll = 102; s[2].roll = 103; for(int i=0;i<3;i++) { s[i].display(); } return 0; }

Output

101 102 103

ऊपर दिए गए Program में Student Class के तीन Objects Array में Store किए गए हैं। for Loop द्वारा सभी Objects के display() Function को Call किया गया है।


Input and Output using Object Arrays

Object Arrays में Data Input तथा Output करने के लिए सामान्यतः Loop का उपयोग किया जाता है। इससे प्रत्येक Object पर समान Operation आसानी से किया जा सकता है।

for(int i=0;i<5;i++) { cin >> students[i].roll; } for(int i=0;i<5;i++) { cout << students[i].roll << endl; }

ऊपर दिए गए उदाहरण में पाँच Objects के roll Data Member में Input लिया गया है तथा बाद में सभी Values Display की गई हैं।


Array of Objects with Constructors

यदि किसी Class में Constructor उपलब्ध हो, तो Array of Objects बनाते समय प्रत्येक Object के लिए Constructor Automatically Call होता है। यदि Parameterized Constructor हो, तो प्रत्येक Object को अलग-अलग Values के साथ Initialize किया जा सकता है।

#include<iostream> using namespace std; class Student { int roll; public: Student(int r) { roll = r; } void display() { cout << roll << endl; } }; int main() { Student s[3] = { Student(101), Student(102), Student(103) }; for(int i=0;i<3;i++) { s[i].display(); } return 0; }

Output

101 102 103

ऊपर दिए गए उदाहरण में Object Array के प्रत्येक Element के लिए Constructor अलग-अलग Value के साथ Call किया गया है।


Passing Array of Objects to Function

यदि किसी Function को एक साथ अनेक Objects पर कार्य करना हो, तो पूरे Object Array को Function में Pass किया जा सकता है। Function Array के प्रत्येक Object को Index द्वारा Access करता है।

void display(Student s[], int n) { for(int i=0;i<n;i++) { s[i].show(); } }

इस प्रकार एक ही Function द्वारा पूरे Object Array पर समान Operation किया जा सकता है, जिससे Code Reusability बढ़ती है।


Returning Array of Objects (Concept)

C++ में पूरे Array को सीधे Return नहीं किया जा सकता। यदि Object Array Return करना हो, तो सामान्यतः Object Pointer, Dynamic Memory Allocation अथवा Container Classes (जैसे vector) का उपयोग किया जाता है।

Student* getStudents() { Student *ptr = new Student[5]; return ptr; }

ऊपर दिए गए उदाहरण में Function Dynamic Object Array का Address Return करता है। Program का कार्य समाप्त होने पर इस Memory को delete[] द्वारा Release करना आवश्यक होता है।


Working of Array of Objects

Class



Create Multiple Objects



Store in Array



Access using Index



Call Member Functions

Object Array में प्रत्येक Object Memory में क्रमबद्ध (Sequentially) Store होता है। Index Number की सहायता से किसी भी Object को Access किया जा सकता है तथा उसके Data Members एवं Member Functions का उपयोग किया जा सकता है।


Example using Loop with Object Array

for(int i=0;i<5;i++) { students[i].getData(); } for(int i=0;i<5;i++) { students[i].display(); }

ऊपर दिए गए उदाहरण में Loop का उपयोग करके Object Array के सभी Elements में Data Store किया गया तथा बाद में सभी Objects की जानकारी Display की गई। यह Technique बड़े Applications में सबसे अधिक उपयोग की जाती है।


Important Points

  • Object Array का प्रत्येक Element एक पूर्ण Object होता है।
  • Objects को Index Number द्वारा Access किया जाता है।
  • Member Functions को Dot Operator (.) द्वारा Call किया जाता है।
  • Constructor होने पर प्रत्येक Object के लिए Constructor स्वतः Call होता है।
  • Dynamic Object Array Allocate करने पर delete[] द्वारा Memory Release करना आवश्यक है।
  • Loop का उपयोग Object Arrays के साथ सबसे अधिक किया जाता है।
  • Student, Employee, Product तथा Library Management Systems में Object Arrays का व्यापक उपयोग होता है।

Advantages of Arrays of Objects

Array of Objects Object Oriented Programming में समान प्रकार के अनेक Objects को व्यवस्थित (Organized) तरीके से Store एवं Manage करने की सुविधा प्रदान करता है। इससे Program अधिक Efficient तथा Maintainable बनता है।

  • एक ही Class के अनेक Objects को एक साथ Store किया जा सकता है।
  • Code Duplication कम हो जाती है।
  • Loop द्वारा सभी Objects पर समान Operation आसानी से किया जा सकता है।
  • Student, Employee तथा Product Records को व्यवस्थित तरीके से Manage किया जा सकता है।
  • Program अधिक Modular तथा Readable बनता है।
  • Memory का उचित उपयोग होता है।
  • Professional Software Development में Data Management सरल हो जाता है।

Limitations of Arrays of Objects

यद्यपि Object Arrays अत्यंत उपयोगी हैं, फिर भी इनकी कुछ सीमाएँ होती हैं जिनका ध्यान रखना आवश्यक है।

  • Array का Size Compile Time पर निर्धारित करना पड़ता है।
  • Run Time पर सामान्य Array का Size आसानी से नहीं बढ़ाया जा सकता।
  • अधिक Memory Allocate होने पर कुछ Memory Unused रह सकती है।
  • Different Class के Objects को एक ही Array में Store नहीं किया जा सकता।
  • बहुत बड़े Arrays Program की Memory Consumption बढ़ा सकते हैं।
  • Dynamic Size की आवश्यकता होने पर Dynamic Memory Allocation या STL Containers अधिक उपयुक्त होते हैं।

Arrays of Objects vs Normal Arrays

Array of Objects Normal Array
Objects Store करता है। Primitive Data Types Store करता है।
प्रत्येक Element एक Object होता है। प्रत्येक Element एक Value होती है।
Member Functions उपलब्ध होते हैं। केवल Data Store होता है।
Object Oriented Programming में उपयोग होता है। General Programming में उपयोग होता है।
Student, Employee, Product आदि के Records Store करने के लिए उपयुक्त। Numbers, Characters तथा Floating Values Store करने के लिए उपयुक्त।

Applications of Arrays of Objects

Application Purpose
Student Management System Students के Records Store करने के लिए।
Employee Management System Employees की जानकारी Store करने के लिए।
Library Management System Books के Records Manage करने के लिए।
Inventory Management Products की जानकारी Store करने के लिए।
Hospital Management System Patients के Records Maintain करने के लिए।
Banking Applications Customers एवं Accounts की जानकारी Store करने के लिए।
School & College Software Students एवं Faculty Data को व्यवस्थित करने के लिए।

Best Practices

  • Object Array का Size आवश्यकता के अनुसार निर्धारित करें।
  • Object Data Access करने के लिए Loop का उपयोग करें।
  • Meaningful Variable Names का उपयोग करें।
  • यदि Constructor उपलब्ध हो, तो Objects को उचित प्रकार Initialize करें।
  • Large Applications में आवश्यकता अनुसार Dynamic Arrays या STL Containers का उपयोग करें।
  • Code को Modular एवं Readable बनाए रखें।
  • Object Array के प्रत्येक Element को उपयोग से पहले Initialize करना न भूलें।

Real Life Example

मान लीजिए किसी College Management System में 500 विद्यार्थियों की जानकारी Store करनी है। यदि प्रत्येक Student के लिए अलग-अलग Object बनाया जाए, तो Program बहुत बड़ा एवं जटिल हो जाएगा। इसलिए Student students[500]; जैसा Object Array बनाया जाता है। इसके बाद for Loop द्वारा सभी Students का Data Input, Update तथा Display किया जाता है। इससे Program अधिक व्यवस्थित, तेज़ तथा Maintainable बनता है।


Applications of Arrays of Objects

Array of Objects का उपयोग आधुनिक Object Oriented Programming में समान प्रकार (Same Type) के अनेक Objects को व्यवस्थित रूप से Store तथा Process करने के लिए किया जाता है। यह Technique बड़े Software Projects में Data Management को सरल, तेज़ तथा Maintainable बनाती है।

Application Purpose
Student Management System Students के Records Store एवं Manage करना।
Employee Management System Employees की जानकारी Maintain करना।
Library Management System Books के Records Store करना।
Hospital Management System Patients की जानकारी व्यवस्थित रखना।
Banking Software Customers एवं Accounts का Data Store करना।
Inventory Management Products एवं Stock Information को Manage करना।
School ERP Students, Teachers एवं Classes का Data Maintain करना।

Advantages of Arrays of Objects

  • एक ही Class के अनेक Objects को व्यवस्थित रूप से Store किया जा सकता है।
  • Loop द्वारा सभी Objects पर समान Operation आसानी से किया जा सकता है।
  • Code Reusability बढ़ती है।
  • Program अधिक Modular एवं Organized बनता है।
  • Records को Search, Update तथा Display करना सरल हो जाता है।
  • Large Applications में Data Management आसान होता है।
  • Object Oriented Programming की Efficiency बढ़ती है।

Limitations of Arrays of Objects

  • Array का Size Compile Time पर निर्धारित करना पड़ता है।
  • Run Time पर सामान्य Array का Size बदलना कठिन होता है।
  • Unused Elements के कारण Memory Waste हो सकती है।
  • केवल एक ही Class के Objects Store किए जा सकते हैं।
  • बहुत बड़े Arrays Program की Memory Requirement बढ़ा सकते हैं।
  • Dynamic Size के लिए Dynamic Memory Allocation या STL Containers अधिक उपयुक्त होते हैं।
  • Complex Data Structures की तुलना में Flexibility कम होती है।

Best Practices

  • Array Size आवश्यकता के अनुसार निर्धारित करें।
  • Objects को उपयोग से पहले Initialize करें।
  • Repeated Operations के लिए for Loop का उपयोग करें।
  • Meaningful Object एवं Variable Names रखें।
  • Constructor का उपयोग करके Objects को Initialize करना बेहतर Practice है।
  • यदि Data Size पहले से ज्ञात न हो, तो Dynamic Containers का उपयोग करें।
  • Readable तथा Maintainable Object Oriented Code लिखें।

Real Life Example

मान लीजिए किसी University Management System में प्रत्येक Department के 1000 विद्यार्थियों का Record Store करना है। यदि प्रत्येक Student के लिए अलग-अलग Object बनाया जाए, तो Program अत्यधिक बड़ा एवं जटिल हो जाएगा। इसलिए Student students[1000]; जैसा Object Array बनाया जाता है। इसके बाद Loop द्वारा सभी Students का Data Input, Search, Update तथा Display किया जाता है। इससे Program अधिक व्यवस्थित, तेज़ तथा Maintainable बन जाता है।


Working of Arrays of Objects

Create Class



Create Object Array



Store Multiple Objects



Access using Index



Process using Loop



Display Result

Summary

Array of Objects C++ Object Oriented Programming का एक महत्वपूर्ण Concept है जिसमें एक ही Class के अनेक Objects को एक Array में Store किया जाता है। प्रत्येक Array Element स्वयं एक पूर्ण Object होता है तथा उसके अपने Data Members एवं Member Functions होते हैं। Object Arrays की सहायता से Student Records, Employee Details, Product Information तथा अन्य समान प्रकार के Data को व्यवस्थित रूप से Store एवं Process किया जा सकता है। Loop का उपयोग करके सभी Objects पर समान Operations आसानी से किए जा सकते हैं, जिससे Program अधिक Efficient, Reusable तथा Maintainable बनता है।

Concept Description
Array of Objects एक ही Class के अनेक Objects का Array।
Declaration ClassName arrayName[size];
Initialization Constructor अथवा Member Assignment द्वारा।
Access Index तथा Dot Operator (.) द्वारा।
Loop Processing for Loop द्वारा सभी Objects पर Operation किया जाता है।
Constructor प्रत्येक Object के लिए स्वतः Call होता है।
Applications Student, Employee, Banking, Library एवं Inventory Systems।
Major Benefit Large Number of Objects का Efficient Management।

Important Viva Questions

  1. Array of Objects क्या है?
  2. Object Array कैसे Declare किया जाता है?
  3. Object Array की आवश्यकता क्यों होती है?
  4. Object Array के Elements को कैसे Access किया जाता है?
  5. Object Array में Constructor कैसे कार्य करता है?
  6. Loop का उपयोग Object Arrays में क्यों किया जाता है?
  7. Object Array तथा Normal Array में क्या अंतर है?
  8. Object Array को Function में कैसे Pass किया जाता है?
  9. Object Array के मुख्य Applications क्या हैं?
  10. Object Arrays के Advantages क्या हैं?

University Examination Important Questions

  1. Array of Objects क्या है? उदाहरण सहित समझाइए।
  2. Object Array की Declaration एवं Initialization लिखिए।
  3. Object Array में Data Input तथा Output करने का Program लिखिए।
  4. Constructor के साथ Object Array का उदाहरण लिखिए।
  5. Object Array तथा Normal Array में अंतर स्पष्ट कीजिए।
  6. Object Array को Function में Pass करने का Program लिखिए।
  7. Array of Objects के Advantages एवं Limitations लिखिए।
  8. Object Arrays के Applications लिखिए।
  9. Student Management System में Object Array का उपयोग कैसे किया जाता है?
  10. Professional Software Development में Array of Objects की आवश्यकता स्पष्ट कीजिए।

Exam Tips

  • हमेशा याद रखें कि Array of Objects का प्रत्येक Element स्वयं एक Object होता है।
  • Object Array Declare करने का Syntax ClassName arrayName[size]; होता है।
  • Object के Members को Access करने के लिए Dot Operator (.) का उपयोग किया जाता है।
  • Object Array के सभी Elements पर समान Operation करने के लिए for Loop का उपयोग करें।
  • Constructor उपलब्ध होने पर Object Array के प्रत्येक Object के लिए Constructor स्वतः Call होता है।
  • Dynamic Object Array Allocate करने पर Memory को delete[] द्वारा Release करना न भूलें।
  • RGPV Practical एवं Viva में Object Array, Constructor तथा Loop आधारित Programs अक्सर पूछे जाते हैं।

Conclusion

Array of Objects C++ Object Oriented Programming का अत्यंत महत्वपूर्ण Concept है जो समान प्रकार के अनेक Objects को व्यवस्थित एवं Efficient तरीके से Store तथा Process करने की सुविधा प्रदान करता है। इसकी सहायता से बड़े Data Sets को सरलता से Manage किया जा सकता है तथा Code अधिक Modular, Reusable एवं Maintainable बनता है। Student Management Systems, Employee Management Systems, Banking Applications, Library Software, Inventory Management तथा Hospital Management Systems जैसे अनेक Real World Applications में Object Arrays का व्यापक उपयोग किया जाता है। RGPV B.Tech First Year के विद्यार्थियों के लिए यह Topic Theory, Practical तथा Viva तीनों दृष्टिकोण से अत्यंत महत्वपूर्ण है।

Related Articles

Object as Function Argument & Returning Object from Function in C++ Notes | Pass Object to Function, Return Object & Examples | Basic Computer Engineering | RGPV BTech First Year

Object ...

Read More →

Pointers to Objects in C++ Notes | Object Pointer, Accessing Members using Pointer & Examples | Basic Computer Engineering | RGPV BTech First Year

Pointer...

Read More →

Dynamic Memory Allocation in C++ Notes | new & delete Operators, Heap Memory, Dynamic Objects & Examples | Basic Computer Engineering | RGPV BTech First Year

Dynamic...

Read More →

this Pointer in C++ Notes | this Keyword, Uses, Advantages & Examples | Basic Computer Engineering | RGPV BTech First Year

this Po...

Read More →

Static Data Members & Static Member Functions in C++ Notes | Static Keyword, Static Variables, Static Functions & Examples | Basic Computer Engineering | RGPV BTech First Year

Static ...

Read More →