Обратиться к членам класса можно так:
NameDataSet nds;
nds.creditCard = 10 ;
cin >> nds.firstName ;
сin >> nds.lastName ;
Здесь nds — экземпляр класса NameDataSet ( или отдельный объект типа NameDataSet ); целочисленная переменная nds.creditCard — свойство объекта nds ; член nds.creditCard имеет тип int , тогда как другой член этого объекта, nds.firstName , имеет тип char[ ] .
Если отбросить компьютерный сленг, приведённый пример можно объяснить так: в этом фрагменте программы происходит объявление объекта nds , который затем будет использован для описания покупателя. По каким-то соображениям программа присваивает этому человеку кредитный номер 10 ( понятно, что номер фиктивный — я ведь не собираюсь распространять номера своих кредитных карт! ).
Затем программа считывает имя и фамилию из стандартного ввода.

«Здесь я использую для хранения имени массив символов вместо типаstring .»
[ Помни! ]
_________________
150 стр. Часть 3. Введение в классы
Теперь программа может работать с объектом nds как с единым целым, не обращаясь к его отдельным частям, пока в этом не возникает необходимость.
/* DataSet — хранение связанных данных в массиве объектов */
#include
#include
#include
#include
using namespace std ;
/* NameDataSet — класс для хранения имени и номера кредитной карты */
class NameDataSet
{
public :
char firstName[ 128 ] ;
char lastName [ 128 ] ;
int creditCard ;
} ;
/* Прототипы функций: */
bool getData( NameDataSet & nds ) ;
void displayData( NameDataSet & nds ) ;
int main( int nNumberofArgs , char* pszArgs[ ] )
{
/* печать кириллицы если Вы не используете программки gccrus.exe и g++rus.exe */
setlocale ( LC_ALL , ".1251" ) ;
/* Выделяем память для 25 экземпляров */
const int MAX = 25 ;
NameDataSet nds[ MAX ] ;
/* Загружаем имя, фамилию и номер социального страхования */
cout << "Считываем информацию о пользователе\n"
<< "Введите 'exit' для выхода из программы"
<< endl ;
int index = 0 ;
while ( getData( nds[ index ] ) && index < MAX)
{
index++ ;
}
/* Выводим считанные имя и номер */
cout << "\nЗаписи:" << endl ;
for ( int i = 0 ; i < index ; i++ )
{
displayData( nds[ i ] ) ;
}
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ; return 0 ;
}
/* getData — заполнение объекта информацией */
bool getData( NameDataSet & nds )
_________________
151 стр. Глава 12. Классы в С++
{
cout << "\nВведите имя:" ;
cin >> nds.firstName ;
/* Проверяем, не пора ли выйти из программы */
if ( stricmp( nds.firstName , "exit" ) == 0 )
{
return false ;
}
cout << "Введите фамилию:" ;
cin >> nds.lastName ;
cout << "Введите номер кредитной карты:" ;
cin >> nds.creditCard ;
return true ;
}
/* displayData — Вывод набора данных */
void displayData( NameDataSet & nds )
{
cout << nds.firstName
<< " "
<< nds.lastName
<< " /"
<< nds.creditCard
<< endl ;
}
В функции main( ) создаётся массив из 25 объектов класса NameDataSet , после чего программа приглашает пользователя ввести необходимую информацию. Затем в теле цикла while происходит вызов функции getData( ) , которая ожидает ввода с клавиатуры содержимого элементов массива. Цикл прерывается, если getData( ) возвращает false или если количество заполненных объектов достигло максимального значения ( в данном случае — 25 ). После этого созданные объекты передаются функции displayData , которая выводит их на экран.
Функция getData( ) принимает аргумент типа NameDataSet , которому внутри функции присваивается имя nds . Пока что не обращайте внимания на символ " &" — о нём речь пойдёт в главе 14, "Указатели на объекты".
Внутри функции getData( ) происходит считывание строки из устройства стандартного ввода с последующей его записью в член firstName . Если stricmp( ) находит, что введённая строка — "exit" , функция getData( ) возвращает false функции main( ) , сигнализируя, что пора выходить из цикла ввода информации. ( Функция stricmp( ) сравнивает строки, не обращая внимания на регистр. Строки "EXIT" , "exit" и другие считаются идентичными. ) Если введена строка, отличная от "exit" , функция считывает из стандартного ввода фамилию и номер кредитной карты и записывает их в объект nds . Функция displayData( ) выводит на экран все члены объекта nds . Результат работы этой программы выглядит следующим образом.
Читать дальше