![Page 1: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/1.jpg)
C++ Dersi:Nesne Tabanlı Programlama
Çiğdem Turhan
Fatma Cemile Serçe
Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar
![Page 2: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/2.jpg)
İçerik
– Yapıcı Fonksiyonlar
• Yapıcı Fonksiyon Tanımı
• Üyelere İlk Atama
• Yapıcı Fonksiyonu Yükleme
• Yapıcı Fonksiyon Çağırımı
• Kopya Yapıcı Fonksiyon
–Otomatik Üye Atamaları
– Yıkıcı Fonksiyonlar
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
2
![Page 3: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/3.jpg)
Yapıcı Fonksiyon
• İng. constructor
• Bir nesnenin tanımında bu nesne üyelerine ilk değer ataması yapmak için kullanılan özel fonksiyonlardır
• Bir nesne tanımlandığında otomatik olarak çalışır.
• Yapıcı fonksiyon yazarken dikkat edilmesi gereken hususlar: – Yapıcı fonksiyonun ismi sınıf ismi ile aynı olmalıdır.
– Yapıcı fonksiyonların döndürme tipi yoktur.
– Nesne tanımı yapıldığında otomatik olarak çağırıldıkları için yapıcı fonksiyonları özel olarak çağırmaya gerek yoktur.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
3
![Page 4: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/4.jpg)
Örnek //yapıcı fonksiyon kullanılmadığı durum
#include <iostream> using namespace std;class Dikdortgen {
int en,boy; public:
void ata(int e,int b){en=e; boy=b;}int alan() { return en*boy; }
};int main() {
Dikdortgen x; x.ata(5,10); cout<<”Alan= “<<x.alan()<<endl; return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
4
x isimli bir dikdörtgen nesnesi
x ’in enine 5, boyuna 10 atanır alan()
en
x
5
ata()
boy 10
![Page 5: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/5.jpg)
Örnek //yapıcı fonksiyon kullanan çözüm
#include <iostream> using namespace std;class Dikdortgen {
int en,boy; public:
Dikdortgen(int e,int b){
en=e; boy=b;}
int alan(){
return en*boy; }
};int main() {
Dikdortgen x(5,10); cout<<"Alan= "<<x.alan()<<endl; return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
5
yapıcı fonksiyon tanımı
x adlı bir dikdörtgen tanımlanır ve yapıcı çağırılır
ÇIKTIAlan=50
![Page 6: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/6.jpg)
Açıklama
• Yapıcı fonksiyon tanımı:
Dikdortgen(int e,int b){en=e; boy=b;}
• Yapıcı fonksiyon çağrımı:
Dikdortgen x(5,10);
• Yapıcı fonksiyonun ismi (Dikdortgen) sınıf ismi ile aynıdır.
• Yapıcı fonksiyonun döndürme tipi tanımlanmamıştır.
• ata() fonksiyonunda olduğu gibi e ve b parametrelerini en ve boy üyelerine atamakla görevlidir.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
6
Yapıcı fonksiyonları public olarak tanımlamayı unutmamamız gerekir, aksi takdirde
otomatik olarak çağırılmaları mümkün olamaz.
![Page 7: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/7.jpg)
Örnek class Nokta
{
int x,y;
public:
Nokta(int a=0,int b=0){x=a;y=b;}
int xDegeri(){return x;}
};
int main()
{
Nokta bir(12,6);
Nokta iki(25);
Nokta uc;
cout<<"bir'in x koordinati: "<<bir.xDegeri()<<endl;
cout<<"iki'nin x koordinati: "<<iki.xDegeri()<<endl;
cout<<"uc'un x koordinati: "<<uc.xDegeri()<<endl;
return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
7
yapıcı fonksiyon tanımı
bir nesnesi yaratılır ve yapıcı çağırılır
iki nesnesi yaratılır ve yapıcı çağırılır
uc nesnesi yaratılır ve yapıcı çağırılır
ÇIKTIbir’in x koordinati: 12iki’nin x koordinati: 25uc’un x koordinati: 0
![Page 8: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/8.jpg)
Açıklama
Nokta bir(12,6);
Nokta iki(25);
Nokta uc;
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
8
xDegeri()
x
bir
12
Nokta()
y 6
xDegeri()
x
iki
25
Nokta()
y 0
xDegeri()
x
uc
0
Nokta()
y 0
bir nesnesi için yapıcı fonksiyona 2parametre, iki nesnesi için 1 parametreyollanır, uc nesnesi için ise hiç bir parametregönderilmez. Bu durumda iki ve ucnesneleri için varsayılan değerler kullanılır vebu nesneler aşağıdaki şekilde oluşur.
![Page 9: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/9.jpg)
Varsayılan Yapıcı Fonksiyon
• İng. Default constructor
• Hiç parametresi olmayan yapıcı fonksiyonlardır
Ogrenci();
Ogrenci::Ogrenci()
{...}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
9
varsayılan yapıcı fonksiyon
Varsayılan yapıcı fonksiyon tanımı
![Page 10: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/10.jpg)
Üyelere İlk Atama
• İng. Member initialization
• Yapıcı fonksiyonlarında atama operatörünü (=) kullanmadan nesne üyelerine ilk değerlerini atamaya üyelere ilk atama adı verilir.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
10
Bir sınıfın sabit, referans ve nesne üyelerine sadece ilk atama ile değer verilebilir
![Page 11: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/11.jpg)
Örnek class Basit
{
int i;
float f;
public:
Basit(int,float);
};
Basit::Basit(int a,float b)
{
i=a;
f=b;
}
int main()
{
Basit nsn(1,2.5);
return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
11
= operatörü ile atama
Basit::Basit(int a,float b):i(a),f(b){}
İlk atama yöntemi
![Page 12: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/12.jpg)
Yapıcı Fonksiyonunu Yükleme
• Yapıcı fonksiyonlar, farklı parametrelerle birden fazla tanımlanabilir
Eleman(){};
Eleman(int i,string s):no(i),isim(s){};
Eleman e1;
Eleman e2(123,"Ali");
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
12
1. yapıcı fonksiyon
2. yapıcı fonksiyon
1. yapıcı çağrılır
2. yapıcı çağrılır
![Page 13: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/13.jpg)
Yapıcı Fonksiyonunu Yükleme...
• Eğer bir sınıfta hiçbir yapıcı fonksiyon tanımlanmamışsa, derleyici otomatik olarak içi boş bir varsayılan yapıcı fonksiyon tanımlar.
• Ama eğer sınıfta başka bir yapıcı fonksiyon tanımı yapıldıysa, varsayılan fonksiyon otomatik olarak yaratılmaz.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
13
![Page 14: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/14.jpg)
Örnek class Eleman
{
int no;
string isim;
};
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
14
class Eleman{
int no;string isim;public:
Eleman(int _no,string _isim):no(_no),isim(_isim);
};
Eleman e;
Eleman e;
class Eleman{
int no;string isim;public:
Eleman(){}Eleman(int _no,string _isim)
:no(_no),isim(_isim); };
Eleman e;
![Page 15: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/15.jpg)
Yapıcı Fonksiyon Çağırımı
• Yapıcı fonksiyonlar nesne tanımı yapıldığı sırada otomatik olarak çağırılır
• Ayrıca yapıcı fonksiyon istenildiğinde de çağrılabilir
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
15
![Page 16: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/16.jpg)
Örnek
class Basit
{
int i;
float f;
public:
Basit();
Basit::Basit(int a,float b)
:i(a),f(b) {}
};
Basit::Basit()
{ i=0;
f=0.0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
16
Basit nsn;
nsn=Basit(7,4.3);
nsn=Basit();
i
nsn
0
f 0
i
nsn
7
f 4.3
i
nsn
0
f 0
![Page 17: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/17.jpg)
Kopya Yapıcı Fonksiyon
• İng. Copy constructor
• Aynı sınıf tipinde başka bir nesneyi parametre olarak alan yapıcı fonksiyonlardır
• Parametre olarak gelen nesneyi, içinde bulunduğu nesneye kopyalar.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
17
![Page 18: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/18.jpg)
Örnek class A
{
int no;
public:
A();
A(A &par);
};
A::A()
{
no=0;
cout<<"Varsayilan Yapici"<<endl;
}
A::A(A &par)
{
no=par.no;
cout<<"Kopya Yapici"<<endl;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
18
int main() {
A a1; A a2(a1); A a3=a2; return 0;
}
Kopya yapıcı prototipi
Varsayılan yapıcı çağrılır
Kopya yapıcı çağrılır
Kopya yapıcı tanımıÇIKTIVarsayilan YapiciKopya YapiciKopya Yapici
![Page 19: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/19.jpg)
Otomatik Üye Atamaları
• Aynı tipte bir nesne başka bir nesneye atanırsa, bu nesnenin tüm üyeleri ikinci nesnenin üyelerine otomatik olarak atanır.
– Tanımlama sırasında bir nesne bir başka nesneye atanırsa
– Bir fonksiyona parametre olarak bir nesne yollanırsa
– Bir fonksiyondan bir nesne döndürülürse
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
19
![Page 20: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/20.jpg)
Otomatik Üye Atamaları...
• Tanımlama sırasında bir nesne bir başka nesneye atanırsa
#include <iostream>
using namespace std;
class Bir
{
int x;
float y;
public:
Bir(int _x,float _y):x(_x),y(_y){}
};
int main()
{
Bir n1(1,2.5);
Bir n2=n1;
return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
20
x
y
1
2.5
x
y
1
2.5
n2n1
n1 nesnesinin tüm üyeleri n2 nesnesine
otomatik olarak kopyalanır
![Page 21: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/21.jpg)
Otomatik Üye Atamaları...
• Bir fonksiyona parametre olarak bir nesne yollanırsaclass Bir
{
int x;
float y;
public:
Bir(int _x,float _y):x(_x),y(_y){}
};
void fon(Bir a)
{
}
int main()
{
Bir nsn(1,2.5);
fon(nsn);
return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
21
nsn nesnesi a nesnesine yollanır
x
y
1
2.5
x
y
1
2.5
nsn
a
![Page 22: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/22.jpg)
Otomatik Üye Atamaları...
• Bir fonksiyondan bir nesne döndürülürseclass Bir
{
int x;
float y;
public:
Bir(int _x,float _y):x(_x),y(_y){}
Bir(){}
};
Bir fon()
{
return Bir(1,2.5);
}
int main()
{
Bir nsn;
nsn = fon();
return 0;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
22
fon( )’un döndürdüğü nesne nsn’e atanır
x
y
1
2.5
x
y
1
2.5
nsn
![Page 23: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/23.jpg)
Örnek 7
• Aşağıdaki işlemde görüldüğü gibi iki rasyonel sayıyı çarpan bir program yazalım.
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
23
15
2
53
21
5
2
3
1
x
xx
1
3
Pay
Payda
![Page 24: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/24.jpg)
#include <iostream>
using namespace std;
class Rasyonel
{
int pay,payda;
public:
Rasyonel(int x,inty):pay(x),payda(y){}
int payAl(){return pay;}
int paydaAl(){return payda;}
Rasyonel carp(Rasyonel&);
};
Rasyonel Rasyonel::carp(Rasyonel& r)
{
int a=r.payAl();
int b=r.paydaAl();
return Rasyonel(pay*a,payda*b);
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
24
int main(){
Rasyonel s(1,3),t(2,5); Rasyonel son=s.carp(t); cout<<s.payAl()<<”/”
<<s.paydaAl(); cout<<” * ”<<t.payAl()
<<”/”<<t.paydaAl();cout<<” = ”<<son.payAl()<<”/”
<<son.paydaAl()<<endl;return 0;
}
ÇIKTI
1/3 * 2/5 = 2/15
pay 2
payda 15
pay
son
2
payda 15
![Page 25: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/25.jpg)
Yıkıcı Fonksiyonlar
• İng. Destructor
• Yıkıcı fonksiyonlar ise bir nesne programda yok edilmeden hemen önce otomatik olarak çağırılan üye fonksiyonlardır.
• Nesnenin yaratıldığı blok bittiğinde o nesne yok edilir ve yok olmadan hemen önce yıkıcı fonksiyon otomatik olarak çağrılır.
• Yıkıcı fonksiyonu yazarken şu noktalara dikkat etmemiz gerekir:– Yıkıcı fonksiyon ismi ~ işareti ile başlar ve sınıfla aynı ismi taşır
– Yıkıcı fonksiyonlara yükleme yapılmaz
– Parametreleri ve döndürme tipleri yoktur
– Otomatik olarak çağırılırlar
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
25
![Page 26: C++ Dersi: Nesne Tabanlı Programlama...İçerik –Yapıcı Fonksiyonlar •Yapıcı Fonksiyon Tanımı •Üyelere İlk Atama •Yapıcı Fonksiyonu Yükleme •Yapıcı Fonksiyon](https://reader035.vdocuments.net/reader035/viewer/2022063022/5fe8646843bec41a816a758e/html5/thumbnails/26.jpg)
#include <iostream>
using namespace std;
class Eleman
{
int no;
public:
Eleman (int=0);
Eleman::Eleman (int x);
~Eleman();
};
Eleman::~Eleman()
{
cout<<"Yikici fonksiyon"<<endl;
cout<<"No: "<<no<<endl; }
};
Eleman::Eleman (int x)
{
no=x;
cout<<"Yapici fonksiyon"<<endl;
}
C++ Dersi: Nesne Tabanlı Programlama © 2012
Çiğdem TurhanFatma Cemile Serçe
26
int main(){
Eleman kisi1(123),kisi2;return 0;
}
ÇIKTI
Yapici fonksiyonYapici fonksiyonYikici fonksiyonNo: 0Yikici fonksiyonNo: 123