Функции-члены структуры (методы) — это функции, которые определены внутри структуры и могут работать с её данными-членами. Они позволяют выполнять операции над объектами структуры и обеспечивают инкапсуляцию.

Пример структуры с функциями-членами:

#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() — метод для увеличения возраста на один год.

Методы позволяют инкапсулировать логику работы с данными структуры, обеспечивая удобный интерфейс для взаимодействия с её объектами.