Hoşgeldin Misafir

C++'da Operatörlerin Aşırı Yüklenmesi

Burak Bey

23 Mar 2019
2,323 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Merhaba dostlar bu gün C++'da Operatörlerin Aşırı Yüklenmesi hakkında konuşacağız.

C++'da Operatörlerin Aşırı Yüklenmesi Ne Anlama Gelir: C++'da bildiğiniz üzere her operatörün kendisine özel bir görevi vardır. Aşırı yüklenme ise operatörlere bu işlemlerden başka bir işlem verip onları istediğimiz gibi çalıştırmamızı sağlar.
Örnek Kod;



Kod:
(Dönüş) (Sınıf) :: operator (aşırı yüklenecek operatör) (argümanların list) {
Fonksiyon ne yapacak;
}
-
Gördüğünüz gibi bu şekilde yazılıyor birazdan gerçek kod satırlarıyla anlatacağım.


Sınırlandırmalar:-

1 - Operatörlerin işlem yönü asla çevrilemez.
2 - Çift argümanlı operatörler tek, tek argümanlı operatörler çift yapılamaz.
3 - Sadece önceden oluşturulmuş operatörler aşırı yüklenebilir.
4 - Her operatörü ayrı ayrı aşırı yüklemeliyiz. Birlikte yüklenemezler.
Aşırı Yüklenemeyen Operatörler;

Kod:

Kod:
.

.*

::

?:

sizeof
-
-- Operatörünün Aşırı Yüklenmesi Örneği;


Kod:

Kod:
[LEFT]#include "pch.h"
#include <iostream>

using namespace std;  //Kusura bakmayın namespace kullandım :)

class bir_sinif{
  double sayi1,sayi2;
public:
  bir_sinif()(sayi1=0; sayi2=0;);
  bir_sinif(double b1,double b2) {
sayi1 = b1;
sayi2 = b2;
}
bir_sinif& operator--(){
  sayi1--;
  sayi2--;
  return *this;
}
yazdir(){
  cout << sayi1 << "\t"<<sayi2 << end1;
}
};

int main()
{
  bir_sinif nesne (11.2,8.5);
--nesne;
nesne.ekranayaz();

system("Pause";)
return 0;-