Menu
Coddy logo textTech

Методы (функции-члены)

Часть раздела Объектно-ориентированное программирование путешествия по C++ на Coddy — урок 8 из 104.

Функции-члены определяют, что может делать объект. Они имеют тип возвращаемого значения, имя и необязательные параметры.

Метод, возвращающий значение

class Calculator {
public:
    int add(int a, int b) {
        return a + b;
    }
};

Метод void (без возвращаемого значения)

class Printer {
public:
    void printMessage(std::string msg) {
        std::cout << msg << std::endl;
    }
};

Метод, возвращающий bool

class Checker {
public:
    bool isPositive(int num) {
        return num > 0;
    }
};

Объявление в заголовочном файле, реализация в файле исходного кода

// Calculator.h
class Calculator {
public:
    int add(int a, int b);
};

// Calculator.cpp
int Calculator::add(int a, int b) {
    return a + b;
}

Тип возвращаемого значения указывается перед именем метода. Используйте void, когда метод ничего не возвращает. Оператор разрешения области видимости :: связывает реализации с их классом.

challenge icon

Задание

Средне

Реализуйте четыре функции-члена для класса StringHelper с различными типами возвращаемых значений и параметрами:

  • getLength() — возвращает int, длину текста
  • toUpperCase() — возвращает std::string, текст в верхнем регистре
  • contains(std::string word) — возвращает bool, содержит ли текст указанное слово
  • repeat(int times) — возвращает std::string, текст, повторенный несколько раз через пробел

Шпаргалка

Функции-члены определяют, что может делать объект. У них есть тип возвращаемого значения, имя и необязательные параметры.

Метод, возвращающий значение:

class Calculator {
public:
    int add(int a, int b) {
        return a + b;
    }
};

Метод void (без возвращаемого значения):

class Printer {
public:
    void printMessage(std::string msg) {
        std::cout << msg << std::endl;
    }
};

Метод, возвращающий bool:

class Checker {
public:
    bool isPositive(int num) {
        return num > 0;
    }
};

Объявление в заголовочном файле, реализация в исходном коде:

// Calculator.h
class Calculator {
public:
    int add(int a, int b);
};

// Calculator.cpp
int Calculator::add(int a, int b) {
    return a + b;
}

Тип возвращаемого значения указывается перед именем метода. Используйте void, когда метод ничего не возвращает. Оператор разрешения области видимости :: связывает реализации с их классом.

Попробуйте сами

#include <iostream>
#include "StringHelper.h"

int main() {
    std::string input;
    std::getline(std::cin, input);
    
    StringHelper helper;
    helper.text = input;
    
    std::cout << "Original: " << helper.text << std::endl;
    std::cout << "Length: " << helper.getLength() << std::endl;
    std::cout << "Uppercase: " << helper.toUpperCase() << std::endl;
    std::cout << "Contains 'World': " << (helper.contains("World") ? "yes" : "no") << std::endl;
    std::cout << "Repeated: " << helper.repeat(3) << std::endl;
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование