Vectors of Objects

Posted by: HitYouth

Vectors of Objects - 04/27/03 02:13 PM

Hi,

I was just wondering if anyone knew the correct syntax for creating a vector of Objects and from there, accessing the data members of said objects.

Thanks
Posted by: pergesu

Re: Vectors of Objects - 04/27/03 02:46 PM

Are you talking about STL vectors? An STL vector is just like any other template class, so you can use whatever data type you want with it. Here's a little example program:
Code:
#include <iostream.h>
#include <vector.h>

int main()
{
        // Create a vector of integers
        vector<int> v(10);

        // Fill it up with stuff
        for(int i = 0; i < 10; i++)
                v[i] = i;

        // Display some data from the vector
        cout<<"Max size of vector: " <<v.max_size() <<endl;
        cout<<"Actual size of vector: " <<v.size() <<endl <<endl;

        // Traverse it with an iterator
        vector<int>::iterator iter = v.begin();
        while(iter != v.end())
        {
                // Access the element
                cout<< *iter++ <<" ";
        }

        cout<<endl;

        return 0;
}
Output of the program on my OS X machine:
Code:
bash-2.05a$ ./vector 
Max size of vector: 1073741823
Actual size of vector: 10

0 1 2 3 4 5 6 7 8 9 
bash-2.05a$ 
Since it's STL, all you need to do is change vector to vector and change the assignment loop.
Posted by: HitYouth

Re: Vectors of Objects - 04/28/03 03:39 PM

Many thanks! How does the assignment method change when trying to create a vector of objects from within an instantiation of an object? for example a vector of employees instantiated within an employee database.

Do I need to utilise the push_back() function because I seem to be having difficulties in utilizing the standard array style subscript method?
Posted by: HitYouth

Re: Vectors of Objects - 04/28/03 03:42 PM

Nevermind figured it out.. Thanks anyway for your help!