Constructer Flashcards

1
Q

Overloading

A

Bir class constructerı çağırıken farklı parametreler vererek bu consturcteri overload edebiliriz. Hangi constructerı çağırmak istersek ona göre parametre verebiliriz.

Örneğin;

MyClass adında bir sınıf oluşturduk.

—-ilk constructerımımız MyClass(){
cout&laquo_space;“DEFAULT”&laquo_space;endl;
}

—-ikinci constructerımımız MyClass(int a ){
cout&laquo_space;“int const”&laquo_space;endl;
}

int main()

MyClass m1 = 5;
ya da
MyClass m2(5);
// dersek ikinci constructer çağrılır çünkü bir parametre (int) değeri girdik.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Destructer

A

Delete object
end of main
end of block için kullanılır.

~MyClass

 Destructerda overload yoktur. ne görürse bitirir siler. 

  Destructer blok bittiğinde çağrılır.

önceden çapırmak istersek;
MyClass m1;
m1.~MyClass(); //blok bitmeden çağrıldı. ama elle çağırısak nesne tam olarak silinmedi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dinamik yer ayrımında Destructer

A

MyClass *pd = new MyClass;
// burda default destructer çağrılmaz.
Dinamik erişimde
delete pd; // kullanarak silmemiz gerekiyor. DELETE ifadesi burda tanımlanan destructerı çağırır.

MyClass *pd = new MyClass[5];
delete[] pd;
// diyerek tüm sınıfları yıkabiliriz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fonksiyon ile Class yaratmada destructer

A

void func()
{
static MyClass m; //statik tanımladığımız için global olarak sayılır ve destructer main bloğu sonlanınca çağrılır

}

int main()
func();
cout &laquo_space;“main end”«endl;

void func()
{
MyClass m; //çağrıldığında fonksiyon bloğu bittiğinde sonlanır. Main bloğu bittiğinde değil.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly