/***************************************************************************
 * The -> operator gives an iterator to an object direct access to that 
 * object's members.
 ***************************************************************************/

#include <iostream>
#include <string>
#include <vector>
using std::cin;           
using std::cout;            
using std::endl; using std::string;
using std::vector;

struct car{
	string model;
	string make;
	int year;
	/* show() displays the data members of a 'car' object. */
	void show() const
	{
		cout<<year<<" "<<make<<" "<<model;/* the year, make, and
		     				   * model of the calling car.
						   */				     
		return;
	}
};
	




	
int main()
{
	car bessie={"Outback", "Subaru", 2002};
	car shorty={"CRX", "Honda", 1986};
	car wrecked=shorty;
	wrecked.year=1987;
	vector<car> fleet;
	fleet.push_back(bessie);
	fleet.push_back(shorty);
	fleet.push_back(wrecked);
	for(vector<car>::const_iterator it=fleet.begin();
		it!=fleet.end(); it++)
	{
		it->show();
		cout<<" ";
	}
		return 0;
}


