Temel C++ 7. Gün: Çokbiçimlilik

Çokbiçimlilik

Çokbiçimlilik dün bahsettiğimiz sanal fonksiyonlar kullanılarak, aynı fonksiyonun farklı biçimlerde kullanılmasıyla oluşur. Böylece fonksiyonun bulunduğu sınıfın türünü bilmek zorunda kalmayız. Dünkü sanal fonksiyon örneğimiz aynı zamanda çokbiçimlilik örneğidir. Aynı örneğin sadeleştirilmiş halini tekrar paylaşacağım. Çünkü gösterebileceğim en basit örnek sanırım bu.

Örneğimiz:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>

using namespace std;

class Hayvan{
private:
public:
virtual string sesiGetir(){return "Henuz bir sesim yok.";}
Hayvan();
~Hayvan();
};

Hayvan::Hayvan(){}

Hayvan::~Hayvan(){}

class Kedi : public Hayvan{
private:
public:
string sesiGetir(){return "miyav";}
Kedi();
~Kedi();
};

Kedi::Kedi(){}
Kedi::~Kedi(){}

class Kopek : public Hayvan{
private:
public:
string sesiGetir(){return "hav";}
Kopek();
~Kopek();
};

Kopek::Kopek(){}
Kopek::~Kopek(){}

int main()
{
Kedi Tekir;

cout << "Tekir isimli nesnemiz " << Tekir.sesiGetir() << " sesini cikarir." << endl;

Kopek Tomar;

cout << "Tomar isimli nesnemiz " << Tomar.sesiGetir() << " sesini cikarir." << endl;
return 0;
}

Temel C++ serimiz burada sonlanıyor. İlerleyen zamanlarda daha ileri düzey örnekler üzerinde durabiliriz. Şimdilik bu kadar.