Menu
CoddyTech

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++'ta kod, bildirimler için başlık dosyalarına (.h</code) ve uygulamalar için kaynak dosyalarına (<code>.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;
}

Onları main içinde kullanma

#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ık dosyasının birden çok kez eklenmesini önler. .h dosyası nelerin var olduğunu bildirir (prototipler), .cpp dosyası ise nasıl çalıştıklarını tanımlar (uygulamalar).

challenge icon

Görev

Orta

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

  • helpers.h: Başlık korumalarıyla işlev bildirimleri
  • helpers.cpp: İşlev gerçekleştirimleri

Oluşturulacak işlevler:

  • greet(name): "Hello, <name>!" değerini döndürür
  • ageInTenYears(age): age + 10 değerini döndürür
  • checkAdult(name, age): yaş >= 18 ise "<name> is an adult", aksi hâlde "<name> is a minor" değerini 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