Функции-члены структуры (методы) — это функции, которые определены внутри структуры и могут работать с её данными-членами. Они позволяют выполнять операции над объектами структуры и обеспечивают инкапсуляцию.
Пример структуры с функциями-членами:
#include <iostream>
using namespace std;
struct Person {
string name;
int age;
// Конструктор по умолчанию
Person() : name("Unknown"), age(0) {}
// Параметризованный конструктор
Person(string n, int a) : name(n), age(a) {}
// Метод для вывода информации о человеке
void display() const {
cout << "Name: " << name << ", Age: " << age << endl;
}
// Метод для обновления возраста
void updateAge(int newAge) {
age = newAge;
}
// Метод для увеличения возраста на один год
void haveBirthday() {
age++;
}
};
int main() {
Person person1; // вызов конструктора по умолчанию
person1.display(); // вывод информации
Person person2("John", 30); // вызов параметризованного конструктора
person2.display(); // вывод информации
person2.updateAge(31); // обновление возраста
person2.display(); // вывод обновленной информации
person2.haveBirthday(); // увеличение возраста на год
person2.display(); // вывод обновленной информации
return 0;
}
В этом примере:
display()
— метод для вывода информации о человеке.updateAge(int newAge)
— метод для обновления возраста.haveBirthday()
— метод для увеличения возраста на один год.
Методы позволяют инкапсулировать логику работы с данными структуры, обеспечивая удобный интерфейс для взаимодействия с её объектами.