Menu
Coddy logo textTech

Başlık Dosyaları ve Kaynak Dosyaları

Coddy'nin C++ Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 3 / 104.

C++ dilinde kod, bildirimler için başlık dosyalarına (.h) ve uygulamalar için kaynak dosyalarına (.cpp) ayrılır.

Başlık korumaları içeren başlık dosyası (helpers.h)

#ifndef HELPERS_H
#define HELPERS_H

#include <string>

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

#endif

Uygulamaları içeren kaynak dosya (helpers.cpp)

#include "helpers.h"

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

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

main içinde kullanmak

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

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

Çıktı:

Hello, Alice!
8

Başlık koruyucuları (#ifndef, #define, #endif) bir başlığın birden çok kez dahil edilmesini önler. .h dosyası nelerin var olduğunu (prototipleri), .cpp dosyası ise bunların nasıl çalıştığını (uygulamaları) tanımlar.

challenge icon

Görev

Orta

Bir başlık dosyası ve kaynak dosyasına bölünmüş üç yardımcı işlev oluşturun:

  • helpers.h: Başlık korumaları içeren işlev bildirimleri
  • helpers.cpp: İşlev uygulamaları

Oluşturulacak işlevler:

  • greet(name): "Hello, <name>!" döndürür
  • ageInTenYears(age): age + 10 döndürür
  • checkAdult(name, age): age >= 18 ise "<name> is an adult", aksi takdirde "<name> is a minor" döndürür

Kendin dene

#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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online C++ derleyicisi