NESNEYE YÖNELİK PROGRAMLAMA
|
|
- Nesrin Neftçi
- 6 yıl önce
- İzleme sayısı:
Transkript
1 NESNEYE YÖNELİK PROGRAMLAMA SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü
2 GİRİŞ C++, hem derleyici-zamanlı hem de çalışmazamanlı çok biçimliliği destekler. Derleyici-zamanlı çok biçimlilik fonksiyonların veya operatörlerin aşırı yüklenmesi yoluyla gerçekleştirilir. Çalışma-zamanlı çok biçimlilik ise kalıtım ve sanal fonksiyon mekanizmaları aracılığıyla gerçekleştirilir.
3 SINIF HİYERARŞİSİ Dört sınıf arasında tanımlamış olduğumuz kalıtım ilişkisi şematik olarak aşağıdaki gibi gösterilebilir: Calisan UcretliCalisan Yonetici SatisElemanı
4 TEMEL VE TÜRETİLMİŞ SINIFLAR ARASINDA DÖNÜŞÜM - 1 Bir satış elemanının aynı zamanda bir ücretli çalışan olması nedeniyle, bir UcretliCalisan nesnesine ihtiyaç duyduğumuz zaman bir SatisElemani nesnesi kullanabiliyor olmamız anlamlı olacaktır. Bu tarz bir ilişkiyi desteklemek için, C++ örtük olarak bir türetilmiş sınıf nesnesini bir temel sınıf nesnesine dönüştürür: UcretliCalisan isci; SatisElemani satici( Ali Uzun ); isci = satici; //SatisElemani => UcretliCalisan //turetilmis => temel Ters yönlü bir atama kabul edilmeyecektir: satici = isci; // Error; cannot convert
5 TEMEL VE TÜRETİLMİŞ SINIFLAR ARASINDA DÖNÜŞÜM - 2 Benzer şekilde, türetilmiş bir sınıf nesnesine işaret eden bir işaretçi örtük olarak bir temel sınıf nesnesine işaret eden bir işaretçiye dönüştürülebilir: Calisan *cptr; UcretliCalisan isci( Oya Kiper ); SatisElemani satici( Ali Uzun ); Yonetici mudur( Mehmet Demir ); cptr = &isci; //UcretliCalisan * => Calisan * cptr = &satici; //SatisElemani * => Calisan * cptr = &mudur;//yonetici * => Calisan *
6 TEMEL VE TÜRETİLMİŞ SINIFLAR ARASINDA DÖNÜŞÜM - 3 Bir nesneye işaretçi ile referansta bulunulduğu zaman hangi eleman fonksiyonun çağrılacağını işaretçinin tipi belirler. Eğer bir türetilmiş sınıf nesnesine bir temel sınıf işaretçisi ile işaret ederseniz yalnızca temel sınıfa ait fonksiyonları çağırabilirsiniz: SatisElemani satici( Ali Uzun ); SatisElemani *sptr; UcretliCalisan *uptr; sptr = &satici; uptr = &satici; uptr->surebelirle(40.0); //UcretliCalisan sptr->ucretbelirle(6.0); //UcretliCalisan uptr->satislaribelirle(1000.0); //Error sptr->satislaribelirle(1000.0); //SatisElemani sptr->komisyonbelirle(0.05); //SatisElemani float taban, toplam; taban = uptr->odemehesapla(); //UcretliCalisan toplam = sptr->odemehesapla(); //SatisElemani
7 TEMEL VE TÜRETİLMİŞ SINIFLAR ARASINDA DÖNÜŞÜM - 4 Türetilmiş bir sınıf işaretçisinin bir temel sınıf işaretçisine dönüştürülebilmesi, örneğin, bir çalışanlar topluluğu oluşturmamıza imkan verebilir: class PersonelListesi { public: PersonelListesi(); ekle(calisan *yeniper); //
8 TEMEL VE TÜRETİLMİŞ SINIFLAR ARASINDA DÖNÜŞÜM - 5 PersonelListesi bolum1; UcretliCalisan *ucretliptr; SatisElemani *saticiptr; Yonetici *yoneticiptr; // Yeni nesneler için bellek talebi ucretliptr = new UcretliCalisan( Ayse Suer ); saticiptr = new SatisElemani( Ali Demir ); yoneticiptr = new Yonetici( Mehmet Yilmaz ); // Listeye ekleme bolum1.ekle( ucretliptr ); bolum1.ekle( saticiptr ); bolum1.ekle( yoneticiptr ); Buradaki sorun her nesne yalnızca genel bir Calisan düzeyinde işleme tabi olabilir.
9 SANAL FONKSİYONLAR (sentaks) Sanal fonksiyon temel bir sınıfta bildirimi yapılan fakat türetilmiş bir sınıfta yeniden tanımlanmasını beklediğimiz bir eleman fonksiyondur. Bir sanal fonksiyon bildirimi temel sınıftaki eleman fonksiyon bildiriminin öncesine virtual anahtar sözcüğünü yerleştirerek gerçekleştirilir. Global fonksiyonlar, arkadaş fonksiyonlar ve statik eleman fonksiyonlar sanal fonksiyon olamazlar. virtual anahtar sözcüğü, türetilmiş sınıflardaki bildirimler ya da sınıf dışında tanımlanmış sanal fonksiyonlar için gerekli değildir; bir sanal fonksiyonun türetilmiş sınıflardaki versiyonları örtük olarak sanal bildirimlidirler. Türetilmiş sınıftaki sanal fonksiyon bildiriminde ya da sınıf dışındaki sanal fonksiyon tanımında virtual anahtar sözcüğünü kullanmak derleyici tarafından bir hata olarak yorumlanmaz.
10 SANAL FONKSİYONLAR (semantik) Normal bir erişimde, sanal fonksiyonlar diğer bütün sınıfa ait eleman fonksiyonlar gibi davranırlar. Fakat, sanal fonksiyonları önemli kılan ve çalışma zamanlı çok biçimliliği desteklemesini sağlayan bir işaretçi ya da referans ile erişilmeleri halindeki davranışlarıdır. Eğer bir temel sınıf işaretçisi ya da referansı bu temel sınıftan türetilmiş bir sınıfın nesnesine işaret ediyorsa / referansta bulunuyorsa, sıradan fonksiyonlarda olmasını beklediğimizin tersine, C++ sanal bir fonksiyonun hangi versiyonunu çağıracağına nesneye bakarak karar verir. Bu karar çalışma zamanında gerçekleştirilir. Dolayısıyla, farklı nesnelere işaret edildiğinde / referansta bulunulduğunda fonksiyonun farklı versiyonları çalıştırılacaktır.
11 SANAL FONKSİYONLAR (örnek) //Sanal odemehesapla fonksiyonlu calisan sinif hiyerarsisi class Calisan Calisan( const char *nm ); char *isimsoyle() const; virtual float odemehesapla() const; virtual ~Calisan() {} private: char isim[30]; class UcretliCalisan : public Calisan UcretliCalisan( const char *nm ); void ucretbelirle( float ucrt ); void surebelirle( float st ); float odemehesapla() const; // sanal (ortuk) private: float ucret; float saat;
12 SANAL FONKSİYONLAR (örnek) class SatisElemani : public UcretliCalisan SatisElemani( const char *nm ); void komisyonbelirle( float kom ); void satislaribelirle( float satislar ); float odemehesapla() const; // sanal (ortuk) private: float komisyon; float satismiktari; class Yonetici : Calisan Yonetici( const char *nm ); void maasbelirle( float maas ); float odemehesapla() const; // sanal (ortuk) private: float haftalikmaas;
13 SANAL FONKSİYONLAR (örnek) Her sınıfın kendisine ait odemehesapla fonksiyonunun tanımı değişmeden kalabilir. Fakat, temel sınıfa eklenen odemehesapla fonksiyonu için bir tanım gerekmektedir: float Calisan::odemeHesapla() const { cout << Hesaplama islemi tanimlanmamis\n ; return 0; } Bu fonksiyon eğer salt bir Calisan nesnesi kullanıldığında ya da türetilmiş sınıflardan bir tanesi kendi odemehesapla fonksiyonunu tanımlamamış ise çağrılır.
14 SANAL FONKSİYONLAR (örnek) // Bir Calisan isaretcisi ile odemehesapla cagrimi Calisan *cptr; float ucret; cptr = &isci; ucret = cptr->odemehesapla(); //UcretliCalisan cptr = &satici; ucret = cptr->odemehesapla(); //SatisElemani cptr = &mudur; ucret = cptr->odemehesapla(); //Yonetici Eğer odemehesapla sanal bildirimli olmasaydı, her fonksiyon çağrımı, 0 değerini döndüren Calisan::odemeHesapla fonksiyonunu çalıştıracaktı. Fakat, verilen çağrımların aynı olmasına rağmen çalıştırılacak fonksiyonlar farklı olacaktır.
15 SANAL FONKSİYONLAR (örnek) #include <iostream> using namespace std; class temel virtual void sanalfonk() { cout << Temel sinif sanalfonk\n ;} class turetilmis1 : public temel void sanalfonk() { cout << Turetilmis sinif1 sanalfonk\n ;} class turetilmis2 : public temel void sanalfonk() { cout << Turetilmis sinif2 sanalfonk\n ;}
16 SANAL FONKSİYONLAR (örnek) int main() { temel *p, b; turetilmis1 d1; turetilmis2 d2; p = &b; p->sanalfonk(); p = &d1; p->sanalfonk(); p = &d2; p->sanalfonk(); } return 0; Program çıktısını belirleyiniz.
17 SANAL FONKSİYONLAR (örnek) Program çıktısı: Temel sinif sanalfonk Turetilmis sinif1 sanalfonk Turetilmis sinif2 sanalfonk Normal yolla sanal fonksiyon çağrımı: d2.sanalfonk(); // turetilmis2::sanalfonk
18 SANAL FONKSİYONLAR ve REFERANSLAR - 1 // Temel sinif referansi ile sanal fonksiyon erişimi #include <iostream> using namespace std; class temel virtual void sanalfonk() {cout << Temel sinif sanalfonk\n ;} class turetilmis1 : public temel void sanalfonk() {cout << Turetilmis sinif1 sanalfonk\n ;} class turetilmis2 : public temel void sanalfonk() {cout << Turetilmis sinif2 sanalfonk\n ;}
19 SANAL FONKSİYONLAR ve REFERANSLAR - 2 // Temel sinif referansini parametre alan fonksiyon void f(temel &r) { r.sanalfonk() ; } int main() { temel b; turetilmis1 d1; turetilmis2 d2; f(b); f(d1); f(d2); } return 0; Program çıktısını belirleyiniz.
20 SANALLIK KALITIMLA AKTARILIR - 1 Sanal bir fonksiyon kalıtıldığında, sanal doğası da kalıtılır: #include <iostream> using namespace std; class temel virtual void sanalfonk() {cout << Temel sinif sanalfonk\n ;} class turetilmis1 : public temel void sanalfonk() {cout << Turetilmis sinif1 sanalfonk\n ;} class turetilmis2 : public turetilmis1 void sanalfonk() {cout << Turetilmis sinif2 sanalfonk\n ;}
21 SANALLIK KALITIMLA AKTARILIR - 2 int main() { temel *p, b; turetilmis1 d1; turetilmis2 d2; p = &b; p->sanalfonk(); p = &d1; p->sanalfonk(); p = &d2; p->sanalfonk(); } return 0; Bu kez, turetilmis2 adlı sınıf temel adlı sınıftan değil turetilmis1 adlı sınıftan türetilmiştir ama sanalfonk yine sanal kalmıştır. Program çıktısını belirleyiniz.
22 SANAL FONKSİYONLAR HİYERARŞİKTİR - 1 Eğer türetilmiş bir sınıf sanal bir fonksiyonu yeniden tanımlamaz ise bu sınıfın bir nesnesi sanal fonksiyona erişmek istediğinde temel sınıf tarafından tanımlanan versiyon kullanılır: #include <iostream> using namespace std; class temel virtual void sanalfonk() {cout << Temel sinif sanalfonk\n ;} class turetilmis1 : public temel void sanalfonk() {cout << Turetilmis sinif1 sanalfonk\n ;} class turetilmis2 : public temel // sanalfonk() yeniden tanimlanmamis.
23 SANAL FONKSİYONLAR HİYERARŞİKTİR - 2 int main() { temel *p, b; turetilmis1 d1; turetilmis2 d2; p = &b; p->sanalfonk(); p = &d1; p->sanalfonk(); p = &d2; p->sanalfonk(); } return 0; Program çıktısını belirleyiniz.
24 SANAL FONKSİYONLAR HİYERARŞİKTİR - 3 Program çıktısı: Temel sinif sanalfonk Turetilmis sinif1 sanalfonk Temel sinif sanalfonk Yukarıdaki program genel bir kuralın özel bir durumunu örneklemektedir. Kalıtım, C++ da hiyerarşik olarak tanımlandığı için, sanal fonksiyonlar da hiyerarşik olmalıdır. Bu ise, eğer türetilmiş sınıf sanal fonksiyonu yeniden tanımlamış ise tersinden hiyerarşik sıralamada ilk yeniden tanımlanmış fonksiyonun kullanılacağı anlamına gelir (bkz. bir sonraki örnek).
25 SANAL FONKSİYONLAR HİYERARŞİKTİR - 4 #include <iostream> using namespace std; class temel virtual void sanalfonk() {cout << Temel sinif sanalfonk\n ;} class turetilmis1 : public temel void sanalfonk() {cout << Turetilmis sinif1 sanalfonk\n ;} class turetilmis2 : public turetilmis1 // sanalfonk() yeniden tanimlanmamis.
26 SANAL FONKSİYONLAR HİYERARŞİKTİR - 5 int main() { temel *p, b; turetilmis1 d1; turetilmis2 d2; } p = &b; p->sanalfonk(); p = &d1; p->sanalfonk(); p = &d2; p->sanalfonk(); return 0; Program çıktısını belirleyiniz.
27 SANAL FONKSİYONLAR HİYERARŞİKTİR - 6 Program çıktısı: Temel sinif sanalfonk Turetilmis sinif1 sanalfonk Turetilmis sinif1 sanalfonk
28 SAF SANAL FONKSİYONLAR - 1 Birçok durumda temel sınıftaki sanal fonksiyon için anlamlı bir tanım bulunmayabilir. Bu durumlarda saf sanal fonksiyonlar ( pure virtual functions ) kullanılır. Saf sanal fonksiyon temel sınıfta tanımı olmayan sanal fonksiyondur ve bildiriminin genel formu aşağıdaki gibidir: virtual tip fonksiyon-ismi(parametreler) = 0; Saf sanal fonksiyon türetilmiş bütün sınıflarda yeniden tanımlanmalıdır. Aksi, derleyici-zamanlı hataya yol açar. En az bir saf sanal fonksiyon içeren sınıfa soyut ( abstract ) sınıf denir. Soyut sınıflara ait nesne yaratılamaz ama soyut sınıflara işaret eden işaretçiler ya da referansta bulunan referanslar yaratılabilir.
29 SAF SANAL FONKSİYONLAR - 2 #include <iostream> using namespace std; class sayi { protected: int deger; public: void degerbelirle(int i) { deger = i;} virtual void goruntule() = 0; class hextip : public sayi void goruntule() {cout << hex << deger << \n ;} class destip : public sayi void goruntule() {cout << deger << \n ;} class okttip : public sayi void goruntule() {cout << oct << deger << \n ;}
30 SAF SANAL FONKSİYONLAR - 3 int main() { destip d; hextip h; okttip o; d.degerbelirle(20); d.goruntule(); // 20 h.degerbelirle(20); h.goruntule(); // 14 o.degerbelirle(20); o.goruntule(); // 24 } return 0;
31 SANAL YIKICI FONKSİYONLAR Problem: Dinamik olarak yaratılmış nesneleri delete operatörü ile yok etmek potansiyel bir problem kaynağıdır. Eğer delete bir temel sınıf işaretçisine uygulanıyorsa, işaretçi türetilmiş bir sınıfın nesnesini işaret ediyor bile olsa, derleyici temel sınıfın yıkıcı fonksiyonunu çağıracaktır. Çözüm: Bu sorun temel sınıfın yıkıcı fonksiyonunu sanal yaparak çözülür. Bu şeklide, türetilmiş sınıfların yıkıcı fonksiyonları da sanal yapılmış olacaktır ve böylelikle delete operatörü temel sınıf işaretçisine uygulandığında ilgili yıkıcı fonksiyon çağrılacaktır. İlke olarak sanal fonksiyon içeren bir sınıf yazıldığında, sanal bir yıkıcı fonksiyon da tanımlanmalıdır. Yıkıcı fonksiyonların aksine, yapıcı fonksiyonlar sanal olarak tanımlanamaz.
32 Kaynaklar Prof. Dr. Yılmaz Kılıçaslan, Nesneye Yönelik Programlama dersi sunumları C++ Temel Öğrenim Kılavuzu, Herbert Schildt, Alfa Basım Yayın Dağıtım, 2010.
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA KALITIM Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.
Detaylı1 PROGRAMLAMAYA GİRİŞ
İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev
DetaylıNESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş
Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü C DİLİNİN BİR ÜST-KÜMESİ OLARAK C++ Genel olarak, C de mevcut olan her şey C++ da da vardır. C dilinde
DetaylıNESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.
DetaylıC++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié
Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama
DetaylıNESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ
NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 6: Diziler İçerik Diziler Dizi Elemanlarına İlk Atama Diziler ve Fonksiyonlar İki Boyutlu Diziler İki Boyutlu Dizi Tanımı İki Boyutlu Dizi Elemanlarına Erişim
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 7: Yapılar Diziler İçerik Yapıların Tanımı Yapılara İlk Değer Atama Yapı Elemanlarına Erişim İç içe Yapılar Yapılar ve Fonksiyonlar 2 Yapılar (structures) içinde
DetaylıKalıtım (Inheritance)
Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 9: Sınıf İçerik Sınıf Tanımı Nesne Tanımı İkili Kapsam Çözme Operatörü UML ile Sınıfların Gösterimi 2 Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur.
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 13: Miras İçerik Miras Kavramı Miras Yönteminin Uygulanması Erişim Etiketleri: public, private, protected Miras ve Yapıcı Fonksiyonlar Üst Sınıf Tanımlamasında
DetaylıBĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié
BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri
DetaylıBTEP243 Ders 3. class Yazım Kuralı:
BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin
DetaylıNESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Doç. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.
DetaylıOperatörlerin Aşırı Yüklenmesi
Operatörlerin Aşırı Yüklenmesi Operatörlerin Aşırı Yüklenmesi Tıpkı fonksiyonlara yaptığımız gibi öperatörlere de aşırı yükleme yapabiliriz.yani, operatörlere normal görevlerinin yanında farklı görevler
DetaylıNESNE MODELLERİ : SINIFLAR
NESNE MODELLERİ : SINIFLAR Bu bölümünden itibaren C++ programlama dilinin nesneye dayalı programlamaya yönelik özellikleri tanıtılacaktır. Bu özellikler yazılımların kalitesini yükseltmek amacıyla geliştirilmişlerdir.
DetaylıOperator Aşırı Yükleme (Operator OverLoading)
Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
DetaylıÖrnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf
İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...
DetaylıANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;
DetaylıC++ ile Nesneye Dayalı Programlama
Nesne İşaretçileri Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Nesneİşaretçileri Çok Şekillilik
DetaylıVeri Yapıları Lab Notları 1
C++ Programlama Dili Veri Yapıları Lab Notları 1 C++ dili, hızlı ve düşük seviye özelliklere erişmek isteyen uygulamaların yazılması için popüler bir dildir. C programlama diline birçok ekstra özellik
DetaylıYAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta
YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin
DetaylıStatik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları
Statik Veri Üye ve Metotlar Genel olarak bir sınıfa ait nesnelerin verileri bellekte farklı bölgelerde yer alır. Ancak bazı durumlarda, belirli bir üyenin ortak bir alanda tek bir kopyasının bulunması
DetaylıÖrnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,
DetaylıC++ Dersi: Nesne Tabanlı Programlama 2. Baskı
C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³ Bölüm 12: Operatör Yükleme İçerik 12.1 Operatör Yükleme Fonksiyon Tanımı 12.2 Üye Olmayan Fonksiyonlar 12.3 Operatör Yüklemede Arkadas Fonksiyon Kullanımı
DetaylıNesneye Yönelik Programlama (OOP) 7.Hafta
Nesneye Yönelik Programlama (OOP) 7.Hafta Örnek : Yapılar vs Sınıflar Yapılar ve sınıflar büyük oranda benzerlik gösterirler. Yapıların sakladığı veriler her zaman public yani erişime açıktır. Sınıflarda
DetaylıNesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik
Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Sınıf Yapısı Kalıtım Çok Şekillilik Nesneye Dayalı Programlama 2 1 İşaretçiler, veri değil, verinin yerleşik bulunduğu
DetaylıGöstericiler (Pointers)
C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi
DetaylıDizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.
Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte
DetaylıBİLG Dr. Mustafa T. Babagil 1
BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)
DetaylıOperatörlere Yeni İşlevler Yüklenmesi (Operator Overloading)
Operatörlere Yeni İşlevler Yüklenmesi (Operator Overloading) C++ da hazır olarak var olan operatörlere (+, -, *, /,!,
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı
DetaylıÇok Şekillilik (Polymorphism)
Çok Şekillilik () Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Sınıf Yapısı Kalıtım Çok Şekillilik Nesneye dayalı programlamanın üç temel kavramı : 1. Sınıflar,
DetaylıPointer Kavramı. Veri Yapıları
Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar
Detaylı8. İŞARETCİLER (POINTERS)
8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren
DetaylıOperatörlere İşlev Yükleme
Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Operatörler C tip-duyarlı ve -odaklı bir dildir. Her operatör belirli tiplerde operand alır. C de temel tiplerden
DetaylıKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ
KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
DetaylıNesne Yönelimli Programlama ve Kalıtım
Nesne Yönelimli Programlama ve Kalıtım Nesne Yönelimli Programlama Modern dillerin bir çoğunda nesneye yönelimli programlama tekniği desteklenmektedir. Bu teknik yazılım geliştirmeyi kısaltan ve sistematik
DetaylıJava da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )
Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya
DetaylıString ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü
String ve Karakter Dizileri #include Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std
DetaylıBİL-141 Bilgisayar Programlama I (Java)
1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,
DetaylıKurucu Fonksiyonlar (Constructors)
Kurucu Fonksiyonlar (Constructors) Kurucu fonksiyonlar üyesi oldukları sınıftan bir nesne yaratılırken kendiliğinden canlanırlar. Bu tür fonksiyonlar bir nesnenin kurulması aşamasında yapılması gereken
DetaylıNesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.
Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir
DetaylıDiziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU
Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip
DetaylıÖrnek1: #include <iostream> #include <string> using namespace std;
BTEP243 Ders 5 Nesne İşaretçileri İşaretçiler, bildiğiniz gibi bir değişkenin bellekte tutuldukları yerin adresini tutarlar. Nesne işareçtileri konusundaki işaretçiler, nesnelerin bellek üzerinde bulundukları
DetaylıNESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar
NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından
Detaylıconst objects & const member functions
const objects & const member functions Principle of Least Privilege: Bir yazılım parçasına sadece kesin olarak ihtiyac duyulan karadar erişim izni verilmelidir. Bu yolla bir çok muhtemel hata yakalanabilir
Detaylı5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi
5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını
DetaylıNesne Tabanlı Programlama
Nesne Tabanlı Programlama Ders Notu - 3 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Sınıflar ve Fonksiyonlar Tekrar kullanılabilir kodlar 1 Nesne Tabanlı Tasarım
DetaylıTemel Bilgisayar Bilimleri Ders Notu #4-2. kısım
Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 5: Fonksiyonlar İçerik Standart Kütüphane Fonksiyonları Kullanıcı Tarafından Tanımlanan Fonksiyonlar Fonksiyon Tanımı Fonksiyon Prototipi void Fonksiyonları Parametreli
DetaylıProgramlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1
Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama
DetaylıBu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir.
Sınıflar (Classes) Çözülmesi istenene problemi çeşitli parçalara ayırıp her bir parça arasındaki ilişkiyi gerçeğine uygun bir şekilde belirleme tekniğine nesne yönelimi denir. Bu parçalar arasındaki ilişkiyi
Detaylı11- FONKSİYONLAR (FUNCTIONS)
1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar
DetaylıPros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar
Pointers Java haric, cogu programming languages memory address lerine ait abstract data type destigine sahiptirler C++ da buna pointer denir Pointers lar data structures ve parameter passing in karmasikligini
DetaylıDers 8: Metotlar. barisgokce.com
Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı
DetaylıNesneye Dayalı Programlama Laboratuvarı
2013 2014 Nesneye Dayalı Programlama Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Laboratuvar Sorumluları: M. Zahid YILDIRIM İÇİNDEKİLER Deney 1: Visual Studio ve C++'a Giriş Uygulamaları...
DetaylıÖnemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();
DetaylıTEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1
PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates
DetaylıC++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References)
C++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References) Kaan Aslan 25 Ağustos 2008 C++ a eklenmesine karar verilen yeni bir özellik de sağ taraf değerine bağlanan referanslardır. C++0x standart
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu
DetaylıC++ Operatörler (Operators)
C++ Operatörler (Operators) Konular Operatörler o Aritmetiksel (Matematiksel) Operatörler o Karşılaştırma Operatörleri o Mantıksal Operatörler o Atama Operatörleri o Bit Düzeyinde Operatörler o Özel Amaçlı
DetaylıLambda İfadeleri (Lambda Expressions)
Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki
DetaylıFonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {
Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel
DetaylıİNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ
İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 2 hafta ÖDEV NO: 5 1- BANKA
DetaylıÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER METOTLAR
METOTLAR İÇİNDEKİLER Metotlar Metot Oluşturma ve Kullanma Metot Parametresi Olarak Diziler Değer ve Referans Parametreleri Metotların Aşırı Yüklenmesi Kendini Çağırabilen Metotlar NESNE TABANLI PROGRAMLAMA
DetaylıİNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ
İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 5 1. Aşağıdaki programların çıktısı
Detaylıişlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);
case 2 : C = 0.5088-0.0011*(B-135); break; case 3 : C = 0.4978-0.0010*(B-145); break; case 4 : C = 0.4878-0.0009*(B-155); break; default : printf("yanlış seçenek\n");} cout
DetaylıAlgoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun
Detaylı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
Detaylıpublic static int Toplam int x, int y
static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.
DetaylıSınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar
Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar
Detaylıabstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;
abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance
DetaylıBölüm 12. Nesne yönelimli programlama desteği
Bölüm 12 Nesne yönelimli programlama desteği 12. Bölüm konuları Giriş Nesne yönelimli programlama Nesne yönelimli diller için tasarım konuları C++ dilinde nesne yönelimli programlama desteği Nesne yönelimli
DetaylıDeney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri
Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden
DetaylıStruct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri 1-14. hafta - Araş. Gör. Nesibe YALÇIN
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıBMT 101 Algoritma ve Programlama I 5. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 5. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Programlamaya Giriş Yük. Müh. Köksal Gündoğdu 2 Programlama Dili Bilgisayar dünyası 1960 lardan bu yana pek çok dille tanıştı.
DetaylıDiziler (Arrays) Çok Boyutlu Diziler
Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.
DetaylıBİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,
BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.
DetaylıObject-Oriented Programming Laboratuvar 11
Object-Oriented Programming Laboratuvar 11 19.12.2017 We use abstract class Employee to represent the general concept of an employee. The classes that derive directly from Employee are SalariedEmployee
DetaylıC++ Dersi: Nesne Tabanlı Programlama 2. Baskı
C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³ Bölüm 19: Standart Şablon Kütüphanesi (vector) İçerik 19.1 Standart Şablon Kütüphanesi (STL) 19.2 vector SınıK 19.3 vectortanımı 19.4 vector Elemanlarına
DetaylıAlgoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip
DetaylıMühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının
DetaylıC++ Giriş. C++ Programlama Dili
C++ Giriş C++ Programlama Dili C++ dili, hızlı ve düşük seviye özelliklere erişmek isteyen uygulamaların yazılması için popüler bir dildir. C programlama diline birçok ekstra özellik katmıştır. En önemlisi
DetaylıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri
DetaylıKALITIM. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik
Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Sınıf Yapısı Kalıtım Çok Şekillilik Nesneye Dayalı Programlama 2 1 C++ ın yazılan kodun yeniden kullanılabilir
DetaylıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
Detaylıİsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1
İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:
Detaylıİsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI
BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından
DetaylıBölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1
Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli
DetaylıC de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma
C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle
Detaylıenum bolumler{elektronik, insaat, bilgisayar, makine, gida};
BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı
Detaylı