#include<iostream>
using namespace std;
//Fonksiyonların Aşırı Yüklenmesi OverLoading
//Aşırı Yüklemelerde farklı parametrelerde kullanılmalı
//Programın okunabilirliğini ve kontrol yapılarının kolaylığını sağlamak amacı ile kullanılır
//Aynı parametre değerlerine sahip OverLoading yapılamaz
//Aşırı yükleme de method isimleri aynı kullanılır içerik farklı türde olur
//Aynı method ismine farklı türlerde tanımlalamalar olmalı ör: strin int double gibi
//Dönüş tipi değeri void olarak yada int olarak tanımlandıysa OverLoading o değer tipine göre yükleme yapar
//aynı değer tipini farklı türde ayarlamak için methodun parantezi içine int yada string gibi dönüşüm tipleri belirlenebilir
//Aynı Algoritmanın farklı kontrol yapılarını geliştrirlmesi durumunda kullanılır.
// ör:Dil paketleri yönetimi veya aynı fonksiyona sahip farklı matematiksel algoritma yapıları için geliştirlmesinde kolaylık sağlar.
void ekranaHataMesajiYaz()
{
cout << "Dikkat Programda Hata Olustu " << endl;
}
void ekranaHataMesajiYaz(string mesaj)
{
cout << mesaj << endl;
}
void ekranaHataMesajiYaz(int hataKodu)
{
cout <<"Hatali islem hata kodu "<< hataKodu << endl;
}
void ekranaHataMesajiYaz(int hataKodu1,int hataKodu2)
{
cout << "Hatali islem : Hata kodlari : " << hataKodu1<< " ve "<<hataKodu2 << endl;
}
int main()
{
ekranaHataMesajiYaz();
ekranaHataMesajiYaz("Error in Program!");
ekranaHataMesajiYaz(404);
ekranaHataMesajiYaz(404, 408);
cout << "Hoscakalin.." << endl;
return 0;
}
/* Program Çıktıları :
Dikkat Programda Hata Olustu
Error in Program!
Hatali islem hata kodu 404
Hatali islem : Hata kodlari : 404 ve 408
Hoscakalin..
*/