In This Chapter
Grouping data using parallel arrays
Grouping data in a class
Declaring an object
Creating arrays of objects
Arrays are great at handling sequences of objects of the same type, such as
doubles. Arrays do not work well, however, when grouping different types of data such as when we try to combine a Social Security number with the name of a person into a single record. C++ provides a structure called the class (or struct) to handle this problem.
Many of the programs in earlier chapters read a series of numbers, sometimes into an array, before processing. A simple array is great for standalone values. However, many times (if not most of the time), data comes in groups of information. For example, a program may ask the user for his first name, last name, and Social Security number. Alone, any one of these values is not sufficient — only in the aggregate do the values make any sense.
You can store associated data of different types in what are known as parallel arrays. For example, I might use an array of strings called
pszFirstNames to hold people's first names, a second
pszLastNames to hold the last names, and a third
nSocialSecurities to hold the corresponding Social Security number. I would store the data such that any given index
n points to the data for a given individual.
Thus, my personal data might be at offset 3. In that case,
szFirstNames would point to "Stephen,"
szLastNames would point to "Davis," and ...