C++ Temelleri

Bu makale daha önce azda olsa programlama konusunda deneyimli (C yada visual basic yada pascal) kullanıcılar tarafından okunacağı varsayılarak hazırlanmıştır. Bu makaleyi anlayabilmeniz için azda olsa program akışını ve denetimini kavrıyabiliyor olmanız gerekmektedir. Eğer daha önce yukarıda belirtilen dillerde program yazmış ve dallandırma,altprogr**Yasak Kelime****Yasak Kelime****Yasak Kelime**veri tipleri,girdi,çıktı ve veri tabanı gibi kavramlar size yabancı gelmiyor ise makalenin devamını gönül rahatlığı ile okuyabilirsiniz.

C++ oldukça karmaşık bir yapıya sahip somut öğelere sahip bir programlama dilidir ancak bu karmaşık yapının arkasında güçlü bir dil yatmaktadır C++ ile birlikte MFC kullanımını öğrenmek için gerekli adımları birlikte atacağız.

MFC Nedir?

MFC (Microsoft Foundation Class Library) Visual C++ kullanarak Windows uygulamaları geliştirmek için tasarlanmış bir araçlar kütüphanesidir.MFC sizin özelleştirmeniz ve kendinize uyarlamanız için hazırlanmış Windows uygulamaları topluluğudur. C++ ile program yazmaya başladığınızda MFC den büyük ölçüde yararlanacaksınız.

Veri Tipleri

C++ dilinde sıkça kullanılan temel veri tipleri şunlardır:

Bool :Bool veri tipi true ve false değerlerini alır. programlama da true doğru yada 1 false ise yanlış yada 0 gibi algılanır.
Char :ASCII karakterler ve küçük sayma sayılarını tanımlamak için kullanılır.
Int :Sayma sayılarını tanımlamak için kullanılır.
Long :Int gibi Sayma sayılarını tanımlamak için kullanılır.
Float :Ondalıklı (virgül ile ayrılmış) sayıların tanımlanmasında kullanılır.
Enum :Sıralanmış değerlerin tanımlanmasında kullanılır.
Double :Ondalıklı sayılar için kullanılır.
Void : Değer almamış
Long Double : Ondalıklı sayılar

Veri Tipi Uzunlukları

Bool : 0 <-> 1
Char : -128 <-> 127
Enum : -2,147,483,648 <-> 2,147,483,647
Int : -2,147,483,648 <-> 2,147,483,647
Long : -2,147,483,648 <-> 2,147,483,647
Float : 3.4E +/- 38
Double : 1.7E +/- 308
Long Double : 1.2E +/- 4932

Unsigned Değer :

Unsigned veri tiplerine işaretsiz değer atanmasında kullanılır, Unsigned değer atandığında tipin negatif değerleri atılır ve pozitif değerlere eklenir örneğin Unsigned Char 0-255 arasında bir değer alacaktır Char' ın pozitif alacağı değer 127 olmasına rağmen Unsigned tanımlandığında negatif kısım pozitif deer aralığına eklenir.

Değişkenler
C++ de değişken tanımlama : C++ de değişken tanımlama değişkenin tipi ve adının belirtilmesiyle yapılır.


[Atanan Veri Tip] [Değişken Adı];

Örnek : diyelimki girdiğimiz sayısal değeri tutacak bir değişken tanımlamamız gerekiyor bu durumda tanımlamamız şu şekilde olmalı :

int sayi;
buradaki örnekte sayi adıyla bir değişken tanımladık ve bu değişkenin tipi olarak int 'verdik artık sayi değişkenine int tipinin izin veridiği büyüklükte sayıal değer atanabilir.

Örnekler :

int rakam;
int no;
char isim;

tanımlamadan sonra ";" ün eklendiğine dikkat edin, bu konuya ilerki bölümlerde yer verilecek.


Değişken tanımlarken nelere dikkat etmeliyiz?

Öncelikle C++ (veya C) dilleri büyük küçük harf duyarlıdır yani "c" ve "C" harfleri iki farklı şekilde algılanır değişken tanımlanırken bu ayrıntı gözden kaçırılmamalıdır,

Aşağıdaki örnekerde verilen değişken tanımlamaları birbirinden farklıdır :

int c;
int C;
int Sayi;
int sayi;
char S;
char s;

Değişkenler tanımlanırken boşluk karakteri kullanılmaz ve mutlaka değişken adı harf yada "_" karakteri ile başlamalıdır, harf yada _ karakteriyle başlayan değişkenlerin geri kalan kısmı alfa sayısal yada sayısal karakter olabilir ancak değişken isimlerinde işlem operatörleri kullanılamaz.

Değişkenlere değer atama işlemi = operatörü ile yapılır, değişkene değer atama işlemini istersek tanımlama esnasında yapabilir yada tanımlamadan sonra değer atayabiliriz.

Tanımlama Sırasında Değer Atama için Örnekler :

Int Sayi = 1000;
Char isim = "Veli";

Tanımlamadan sonra değer atama:

Sayi = 1000;
isim = "Veli";

Eğer istersek aynı anda aynı tipte birden fazla değişken tanımlayabilir hatta bu değişkenlere aynı anda değer atayabiliriz.

int sayi1,sayi2,sayi3;
sayi1=sayi2=sayi3=1000;

yukarıdaki tanımlamada 3 ayrı değişken tanımlanıp her 3 değişkenede 1000 değeri atandı.

C++' de Açıklama Ekleme

İyi bir programcı başarılı programlar üretmenin yanında düzenli ve yığın oluşturmamış kodlama sistemi kullanmayı bilmelidir, ayrıca kendi yazdığımız programı başka bir programcı kolaylıkla anlayabilmeli yada üzerinden uzun bir süre geçtikten sonra kendi yazdığımız program kodlarına baktığımızda hangi satırda ne işlem yaptırdığımızı anlayabilmeliyiz işte bu noktada program geliştirmenin en önemli unsurlarından biri olan Açıklamalar karşımıza çıkar , Açıklama program kod kısmında bize açıklayıcı bilgiler verir daha sonra kodu tekrar açıp düzenlemek istediğimizde bu açıklamalardan yararlanırız.

Açıklamalar Nasıl Kullanılır

C++ editörü açıklama metinlerini iki ayrı şekilde alayabilir, ilk kullanım C den hatırladığımız // açıklama aracıdır, C++ // işaretlerinden sonraki bütün yazılanları satır boyunca açıklama olarak anlar ve kod icrasında bu yazılanları yok sayar.

Örnek :

// C++ da açıklama örneğidir, bu bölüm C++derleyicisi tarafından icra edilmez

İkinci kullanım ise C++ ye özgü olan /* ve */ karakterleri arasında açıklama belirtme şeklidir. Bu şekilde bir açıklama /* karakteriyle başlar ve */ karakterlerini görene dek aıklama olarak algılanır ve program içerisinde icra edilmez.

Örnek:


/* C++ 'a özgü açıklama yapılmaktadır bu satırlar C++ tarafından icra edilmezler,
ayrı bir satıra geçilse bile bu satırlarda icra edilmezler
bu satırdan sonrası C++ derleyicisi tarafından icra edilir */

C++ Programlamaya giriş

Bir C++ programında olması gereken açıklamaların,tip tanımlamalarının ve değişken tanımlama kurallarının ne olduğunu öğrendik, artık ufakta olsa bir c++ programı yazma zamanı geldi, Şimdi öğrendiğimiz bütün bilgileri kullanarak ufak bir program yazalım.

editör kısmına aşağıdaki kodları yazın:

// Bu bizim ilk C++ programımız
/*Programımızın başında öncelikle kütüphane dosyamızı tanımlıyoruz..*/
#include "iostream.h"
void main( )
{
int deger = 10;
cout << deger << " değeri görüntülendi." << endl;
}




Ne Yaptık : Yukarıdaki ilk program deneyimimizde ilk defa farklı komutlar kullanarak gerçek bir program yazdık, bu program hiçbir işimize yaramaz ama öğrenmemiz açısından oldukça güzel bir örnek. şimdi bu programı satır satır açıklayalım :

İlk Satırda // karakterleriyle başlayarak bu satırın bir açıklama olduğunu C++ ye bildirdik böylece programımızın icrasında bu satır göz ardı edilecek.
İkinci satırda yine bir açıklama metni kullandık. ancak bu kez /* ve */ karakterlerini kullandık.

üçüncü satırda mutlaka C++ programlarında bulunması gereken kütüphane dosyası tanımını yaptık, Bu tanımlamayı yapmamızın nedeni C++ programlarında kullanılan fonksiyon ve veri tiplerinin tanımlı olduğu kütüphane dosyalarının programımızda kullanılmasıdır, eğer bu tanımlamayı yapmaz isek gerekli fonksiyonları kullanamayız ilerleyen bölümlerde çok farklı tanımlamalar göreceğiz.
Kütüphane tanımlamaları #include "[Kütüphane adı]" şeklinde yapılır

dördüncü satırda ilerde daha ayrıntılı göreceğimiz fonksyion tanımlama işlemi yapılıyor c kodları fonksiyonlardan oluşur yukarıda da main fonksiyonu ile program kodlarını yazmaya başlıyoruz.

beşinci satırda { karakteriyle fonksiyonu açıyoruz ve içerisine gerekli komutları yazıyoruz.
altıncı satırda deger adında bir int tipli değişken tanımlıyoruz ve bu değişkene 10 değerini atıyoruz.

yedinci satırda cout komutuyla ekrana bilgi yazdırıyoruz, cout komutundan sonra yazdığımz << karakterlerinden sonra gelen değişkenin değeri ekrana aktarılır, endl komutu ise satırın bittiğini derleyiciye söyler ve bir alt satıra geçilir.

en son satırda ise } karakteriyle fonksiyonumuz sonlanır.


Fonksiyonlar

Fonksiyonlar program içerisinde icra edilerek belli değerleri döndüren yada belli işlemleri yapan kod bloklarıdır, yukarıdaki örnekte main fonksiyonu bize bir mesaj iletmekle görevli bir fonksiyon olarak verildi çoğu zaman fonksiyonlar çok karmaşık sorgu ve dallanmalar içerebilir en basit anlatımla fonksiyon bir çok görevin icra edildiği kod bloklarının birleşmesidir. Eğer fonksiyon kullanmadan kod yazmaya çalışsaydık yazdığımız program çok karmaşık ve içinden çıkılamaz bir hal alırdı yukarıdaki örnekte çok kısa bir program yazdık oysa onbinlerce satırdan oluşan bir programda fonksiyonlar vazgeçilmez kodlama sistemidir. Program icrasında oluşacak hataları bulmak için Fonksiyonların kullanılması şarttır aksi alde bir hatanın nerede oluştuğunu bulmak saatlerimizi belkide günlerimizi alırdı.

Ayrıca fonksiyonlar sayesinde bir işlemin bir kaç defa tekrarlanmasında büyük rol üstlenirler bu kodların her defasında yeniden yazılmasındansa bir fonksiyonun gerektiğinde tekrar tekrar çağrılması daha mantıklıdır.

bir fonksiyonun yapısı aşağıdaki gibidir.

Değer_Tipi Fonksiyon_İsmi (Parametreler)
{
Tanımlama ve komutlar dizisi
}


Yukarıdaki anlatımda

Değer_Tipi : Fonksiyonlar kendilerinden istenilen işi bitirdiklerinde bir değer döndürürler, geri dönen değer burada tanımlanan tipte bir değerdir.
Fonksiyon_İsmi : Tanımlanan her fonksiyon bir isim almalıdır başka bir kod bloğundan bu fonksiyonun çağrılması için fonksiyonun ismi kullanılır
Parametreler : Fonksiyonun icrası sırasında bazı parametreler gönderilebilir, fonksiyon içindeki bazı değişkenler bu parametrelere atanabilir ancak parametre atamak zorunlu değildir, ilerki bölümlerde bu konu ayrıntılı ele alınacaktır.


Alintidir!