Archive

Posts Tagged ‘c/c++’

C ile Nesne Yaratmak

April 27th, 2010 1 comment

Evet kışkırtıcı bir başlık attım 🙂
Aslında yapacağımız olay bir structı nesne gibi kullanmak. Buna benzer bir kodu yıllar önce görmüştüm. O günden bu güne sürekli böyle bir şeyi nasıl yaparım diye araştırdım. Anca bugün çözebildim olayı 😉
Kodu aşağıda yorum satırıyla beraber veriyorum. Yorumlarda gerekli açıklamaları yaptım.

Bu yazıyla C-3PO nun ne lakası var diyebilirsiniz. C ile resim ararken karşıma bu çıktı, bende boş durmasın dedim 🙂

/*                                                                                                                                                             
 * Sınıfımızı yaratıyoruz                                                                                                                                      
 */
struct _myobject {
  // alt alanlar                                                                                                                                               
  int a, b;
  /*                                                                                                                                                           
   * Metod                                                                                                                                                     
   * Burada fonksiyon pointerı tanımlıyoruz                                                                                                                    
   */
  int (*add)(struct _myobject*);
};

// struct ön ekinden kurtuluyoruz                                                                                                                              
typedef struct _myobject MyObject;

/*                                                                                                                                                             
 * Asıl işi yapacak fonksiyonu tanımlıyoruz                                                                                                                    
 * MyObject structını parametre olarak alıyor                                                                                                                  
 */
int realAdd(MyObject* a) {
  return a->a + a->b;
}

int main ( void ) {
  /*                                                                                                                                                           
   * Nesnemizi oluşturuyoruz.                                                                                                                                  
   * add pointerına fonksiyonu atıyoruz                                                                                                                        
   */
  MyObject mo = {1, 2, realAdd};
  printf("A + B = %d\n", mo.add(&mo));
  return 0;
}

Kodun başına stdio.h headerını eklemekte fayda var. WP sıkıntı çıkarttığı için silmek zorunda kaldım. Kodun düzgün halini burada bulabilirsiniz.

Categories: Gezegen, Programlama Tags: , , ,

C ile Komut Satırı Argumanları ve Parametreleri

July 10th, 2009 No comments

TerminalKomut satırı programları -h yada –help gibi parametreler alırlar. Bu alınan parametrelerin kolay kullanılması için getopt adında bir kütüphane yaratılmış. Bu kütüphane kullanlanılarak çok rahat böyle programlar yazılabilir.
Bende bunun için küçük bir örnek yazdım.
Örnek

Categories: Gezegen, Programlama Tags: ,