Hocam Merhaba 8:33 de ' -> ' operatörünü kullanmamız yeterliydi. (pArray+sizeof(Nokta)*i) şeklinde bir kullanım hatalı sonuclar doguracaktır sizeof sayısal bir deger dondereceginden oturu ram ' de dizi olarak saklanmayacak bu veriler. Sizin yaptıgınız sekilde pArray[ i ].ekranaYaz(); olarak cagrılınca sonuclar farklı oluyor cunku ardısıl sıraya gore dizilmemis oluyorlar. Belki Cok onemli bir konu değil ama sadece bu açıklamayı yapıp belki oraya takılan arkadaşlara da yardımcı olurum diye düsündüm çok akıcı bir anlatımınız var bu arada çok iyisiniz tessekkür ederim.
@YazlmaGonulVer4 жыл бұрын
Merhabalar. Şuan tekrar bu konu üzerine düşününce bende yanlış yaptığımı fark ettim. Dikkatiniz için teşekkürler. Yorumunuzu başa sabitliyorum ki dediğiniz gibi diğer arkadaşlarımızda faydalanabilsin. Başarılar diliyorum.
@elvirhuseynov47694 жыл бұрын
Tesekkurler,ben de tam onu aydinlastirmak istiyordum
@alparslan55144 жыл бұрын
@@YazlmaGonulVer dogrusu nedir hocam bunun sizin yazdıgınızın aynısını yazdım çalışmıyor kod array[i].degerAta(i,i+2); satırında hata veriyor
@ilaydakaya50023 жыл бұрын
@@YazlmaGonulVer Hocam merhaba bu noktada doğru gösterimin tam olarak hangi şekilde olması gerekir?
@whyamk.3 жыл бұрын
@@ilaydakaya5002 | * | ve | . | operatör önceliğinden kaynaklı bir durum olduğunu biliyorum nokta ile şu şekilde kullanılabiliyor : (*(ptr+i)).degerAta(i+5,i+10); Kısaca nokta kullanılmadan önce yıldız paranteze alınmalı.
@ertugrulhaykr2731 Жыл бұрын
pointerları okulda ayaküstü öğrensem de burada bu videoyu izleyince analamkta zorlanmıştım mantığını tam iyi hatırlayamıyordum sırf onun için c eğitiminde pointerlar dan dosyalamalara kadar eğitimi tekrarlayıp projelere kadar ilerledim be bu seriye geri döndüm şimdi çok rahat anlıyorum bu konu şakaya gelmez
@Yazılıma Gönül Ver hocam ayrı bir sorun daha var, Nesneler oluşturulurken boyutun initialize değeri girilmeden oluşturulduğuna göre nesne dizisini oluştururken structor default olarak boyutu 1 olarak alıyor, buna göre array pointer aslında ardışık 1 elemanlı data buffer ı olan nesne dizisine işaret eder. , ama siz ( 6:36 da) for döngüsünde degerAta(i+5,i+10) şeklinde atama yapıyorsunuz, 1 boyutlu buffer ın i+5 gibi bir indexi yok ki, nereye atanıyor bu i+10 değerleri? degerAta içinde index koruması yaptığınız için aslında 0 ıncı indise yazdıktan sonrakiler if satırından dolayı es geçiliyor, yani atama yapılmıyor.
@MrAycan2 жыл бұрын
Orada x ve y'ye değer atıyor. x=i+5 ve y=i+10 gibi. Indexi ise " pArray + sizeof(Nokta)*i " kısmı belirtiyor. Ancak sabitli yorumda anlatıldığı gibi hocamız o kısımda ufak bir hata yapmış " pArray + sizeof(Nokta)*i " yerine "pArray + i " deseniz daha doğru olur muhtemelen.
@myetis19902 жыл бұрын
@@MrAycan söylediğimi anlamamışsınız, sabitlenmiş yorumdaki soruna ek bu anlattığım. degerAta fonksiyonu içinde index koruması yapılmamış olsaydı buffer düzgün oluşturulmadığından degerAta(i+5,i+10) hata verecekti. bunun çözümü "pArray+i" meselesi değil default structor çağrılması yerine istenilen boyutta buffer oluşturulması için parametreli structorun çağrılması.
@hasanaliilter7173 Жыл бұрын
Abi Allah senden razı olsun ❤
@yusufabatay95662 жыл бұрын
Nokta* n5; n5 = new Nokta(); n5.degerAta(3,3); n5 -> degerAta(3,3); iki kullanımda da herhangi bir hata almadım hangisi kullanılmalı?
@karatugba5 жыл бұрын
Merhaba,sadece pointer l bir nesne oluştuğunda mı o nesne üzerinde işlem yapacağımız zaman this pointer'ı kullanıyoruz,yani this pointersız kullanılamaz mı?
@YazlmaGonulVer5 жыл бұрын
Merhabalar. Biz burada nesnelerimize ister tekil olarak ister array olarak sadece pointer erişim belirteci olan -> sembolüyle ulaştık. Sizin bahsettiğiniz this işaretçisi (pointer) bir sınıf tanımlanırken o sınıftaki özelliklere ulaşmak için özel tanımlı bir işaretçi (pointer) olan this işaretçisini kullanırız. Zaten sınıf dışında this-> şeklinde kullanırsanız hata alırsınız bununda sebebi this işaretçisini kapsayan bir sınıf olmadığından dolayıdır. Yani this işaretçisi bir sınıf içinde anlamlıdır. Diğer yerlerde anlamsız kalır. Aklınıza takılan yerleri sormaktan çekinmeyiniz. Vakit buldukça cevaplamaya çalışırım. Başarılar.
@karatugba5 жыл бұрын
@@YazlmaGonulVer Çok teşekkür ederim ama classtan çıktıktan sonra ayrı bir main(){ . . . } Açsak bu fonksiyonun içinde kullanabiliyoruz ama değil mi this pointerı.
@YazlmaGonulVer5 жыл бұрын
#include using namespace std; class Foo{ private: int x,y; public: Foo(int x,int y){ this->x = x; this->y = y; } int getX()const{ return x;} int getY()const{ return y;} void setY(int y){ this->y = y;} void setX(int x){ this->x = x;} void print()const{ cout
@karatugba5 жыл бұрын
@@YazlmaGonulVer Çok teşekkür ederim, çok yardımcı oldu,şu an sorunu hallettim :)
@karatugba5 жыл бұрын
@@YazlmaGonulVer Peki C# konu anlatımı da gelir mi?