In this C++ tutorial, you will learn how to declare and initialize an array of objects. We shall discuss two ways in which we create an array of objects, with examples.
C++ Array of Objects
You can store objects of user defined datatype in a C++ Array.
To store objects of user defined datatype in an array, you can declare an array of the specific type and initialize the array just like an array of ints.
1. Array of Objects – Declare and Initialize Separately
In the following example, we shall declare an array of type Student, with size of five. Student is a class that we defined in the program. Then we shall assign objects using index of array.
C++ Program
#include <iostream>
using namespace std;
class Student {
public:
string name;
int rollno;
Student() {}
Student(string x, int y) {
name = x;
rollno = y;
}
void printDetails() {
cout << rollno << " - " << name << endl;
}
};
int main() {
//declare array with specific size
Student students[5];
//assign objects
students[0] = Student("Ram", 5);
students[1] = Student("Alex", 1);
students[2] = Student("Lesha", 4);
students[3] = Student("Emily", 3);
students[4] = Student("Anita", 2);
for(int i=0; i < 5; i++) {
students[i].printDetails();
}
}
Output
5 - Ram
1 - Alex
4 - Lesha
3 - Emily
2 - Anita
2. Array of Objects – Declare and Initialize in a Single Line
In the following example, we shall declare an array of type Student, and initialize the array with objects of Student type in a single line.
C++ Program
#include <iostream>
using namespace std;
class Student {
public:
string name;
int rollno;
Student() {}
Student(string x, int y) {
name = x;
rollno = y;
}
void printDetails() {
cout << rollno << " - " << name << endl;
}
};
int main() {
//declare array with specific size
Student students[] = {Student("Ram", 5), Student("Lesha", 4), Student("Anita", 2)};
for(int i=0; i < 3; i++) {
students[i].printDetails();
}
}
Output
5 - Ram
4 - Lesha
2 - Anita
Conclusion
In this C++ Tutorial, we learned how to initialize an array of custom class type objects, with example C++ programs.