Menu
Coddy logo textTech

Metody (funkcje składowe)

Część sekcji Programowanie obiektowe ścieżki C++ w Coddy. Lekcja 8 z 104.

Funkcje składowe określają, co może robić obiekt. Mają typ zwracany, nazwę i opcjonalne parametry.

Metoda zwracająca wartość

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

Metoda void (bez wartości zwracanej)

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

Metoda zwracająca wartość bool

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

Deklarowanie w pliku nagłówkowym, implementowanie w pliku źródłowym

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

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

Typ zwracany znajduje się przed nazwą metody. Użyj void, gdy metoda niczego nie zwraca. Operator rozwiązywania zakresu :: łączy implementacje z ich klasą.

challenge icon

Wyzwanie

Średni

Zaimplementuj cztery funkcje składowe klasy StringHelper z różnymi typami zwracanymi i parametrami:

  • getLength(): zwraca int, długość tekstu
  • toUpperCase(): zwraca std::string, tekst zapisany wielkimi literami
  • contains(std::string word): zwraca bool, informację, czy tekst zawiera dane słowo
  • repeat(int times): zwraca std::string, tekst powtórzony ze spacjami

Spróbuj swoich sił

#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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator C++ online