|
|
||
2. Доступ к членам структур |
||
Когда мы объявляем переменную структуры, например, Employee john, то john ссылается на всю структуру. Для того, чтобы получить доступ к отдельным её членам, используется оператор выбора члена (.). Например, в коде, приведенном ниже, мы используем оператор выбора членов для инициализации каждого члена структуры: Employee john; // создаем отдельную структуру Employee для John
john.id = 8; // присваиваем значение члену id структуры john
john.age = 27; // присваиваем значение члену age структуры john
john.salary = 32.17; // присваиваем значение члену salary структуры john
Employee james; // создаем отдельную структуру Employee для James
james.id = 9; // присваиваем значение члену id структуры james
james.age = 30; // присваиваем значение члену age структуры james
james.salary = 28.35; // присваиваем значение члену salary структуры james
Как и в случае с обычными переменными, переменные-члены структуры не инициализируются автоматически и обычно содержат мусор. Инициализировать их нужно вручную. В примере, приведенном выше, легко определить, какая переменная относится к структуре John, а какая — к структуре James. Это обеспечивает гораздо более высокий уровень организации, чем в случае с обычными отдельными переменными. Переменные-члены структуры работают так же, как и простые переменные, поэтому с ними можно выполнять обычные арифметические операции и операции сравнения: int totalAge = john.age + james.age;
if (john.salary > james.salary)
cout << "John makes more than James\n";
else if (john.salary < james.salary)
cout << "John makes less than James\n";
else
cout << "John and James make the same amount\n";
// James получил повышение в должности
james.salary += 3.75;
// Сегодня день рождения у John
++john.age; // используем пре-инкремент для увеличения возраста John на 1 год
|
||
|
||
2 |