Menu
Coddy logo textTech

Pliki nagłówkowe i pliki źródłowe

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

W C++ kod jest podzielony na pliki nagłówkowe (.h) zawierające deklaracje oraz pliki źródłowe (.cpp) zawierające implementacje.

Plik nagłówkowy z osłonami nagłówka (helpers.h)

#ifndef HELPERS_H
#define HELPERS_H

#include <string>

std::string greet(std::string name);
int addNumbers(int a, int b);

#endif

Plik źródłowy z implementacjami (helpers.cpp)

#include "helpers.h"

std::string greet(std::string name) {
    return "Hello, " + name + "!";
}

int addNumbers(int a, int b) {
    return a + b;
}

Używanie ich w funkcji main

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

int main() {
    std::cout << greet("Alice") << std::endl;
    std::cout << addNumbers(5, 3) << std::endl;
    return 0;
}

Wynik:

Hello, Alice!
8

Osłony nagłówków (#ifndef, #define, #endif) zapobiegają wielokrotnemu dołączaniu nagłówka. Plik .h deklaruje, co istnieje (prototypy), a plik .cpp definiuje, jak to działa (implementacje).

challenge icon

Wyzwanie

Średni

Utwórz trzy funkcje pomocnicze, rozdzielając je między plik nagłówkowy i plik źródłowy:

  • helpers.h: Deklaracje funkcji z zabezpieczeniami nagłówka
  • helpers.cpp: Implementacje funkcji

Funkcje do utworzenia:

  • greet(name): zwraca "Hello, <name>!"
  • ageInTenYears(age): zwraca age + 10
  • checkAdult(name, age): zwraca "<name> is an adult", jeśli wiek >= 18, w przeciwnym razie "<name> is a minor"

Spróbuj swoich sił

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

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    std::cout << greet(name) << std::endl;
    std::cout << "In 10 years you will be " << ageInTenYears(age) << std::endl;
    std::cout << checkAdult(name, age) << 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