OOP uzmanları için soru. - sayfa 36

 
Artyom Trishkin :

örnekte

Y Sınıfı, F ve Z sınıf türlerine sahip değişkenler içerir.

Ancak, bir yerde F ve Z sınıflarının nesnelerini zaten yarattıysanız ve kullandıysanız, o zaman Y nesnesinde bunlara erişemezsiniz. Y nesnesi, F ve Z sınıflarından iki yeni nesneye sahip olacaktır.

Ve F ve Z sınıflarının önceden oluşturulmuş ve halihazırda kullanılmış nesnelerine erişmek için, Y sınıfındaki F ve Z nesnelerine referanslar almanız gerekir - o zaman Y sınıfı, F ve Z'de önceden yazılmış verilerle çalışabilecektir ve Z ve yenilerini ve bozulmamış F ve Z'yi kullanmayın.

Ancak hemen böyle bir bağlantı nesnesi oluşturursanız, içindeki F ve Z, F ve Z sınıflarına erişim sağlar ve bunları yalnızca Y sınıfı aracılığıyla doldurmanız gerekir - yine, ondan F ve Z nesnelerine erişim verin, istenen nesneye bir işaretçi alın ve işaretçiyle onunla çalışın.

Ancak zor. Düşüneceğim...
 
Artyom Trishkin :

Ve istenen sınıfa bir işaretçi elde etmek için bir yöntem yapmak için bir başkasının verilerine ihtiyaç duyulan bir sınıfta mümkündür.

 class CA{
   protected :
   public :
   void f(){
       Print ( "A" );
   }
};

class CB{
   protected :
   CA * a;
   public :
   void f(CA * arg){
      a=arg;
   }
   void f(){
       Print ( "B" );
   }   
   void f2(){
      a.f();
   }    
};

CA a;
CB b;

void OnStart (){
   b.f( GetPointer (a));
   
   b.f();
   b.f2();
   
}
 
Dmitry Fedoseev :

İyi evet. Bu, nesnenin CB a ve CB b değişkenlerinde nerede olduğunu bildiğimiz zamandır. Yeni ile oluşturulmuşlarsa, işaretçiler saklanmalı ve kaydedilen konumdan alınmalıdır.

 
Artyom Trishkin :

İyi evet. Bu, nesnenin CB a ve CB b değişkenlerinde nerede olduğunu bildiğimiz zamandır. Yeni ile oluşturulmuşlarsa, işaretçiler saklanmalı ve kaydedilen konumdan alınmalıdır.

Nesne oluşturulur oluşturulmaz işaretçi bilinir hale gelir, onu başka bir nesneye iletin.

 
Dmitry Fedoseev :

Nesne oluşturulur oluşturulmaz işaretçi bilinir hale gelir, onu başka bir nesneye iletin.

Ancak, oluşturma anında değil (kullanıcı düğmeyi tıkladı - yeni bir nesne oluşturuldu), ancak programla daha fazla çalışma sırasında bir işaretçi almanız gerekiyorsa.

Bana öyle geliyor ki, tüm nesnelere yönelik tüm işaretçilerin listelerine sahip olmak daha karlı. Bu durumda, yeni oluşturulan nesnelerin işaretçilerini diğer sınıflardan diğer tüm nesnelere itmeniz gerekmez. Ve yeni nesne sınıfları oluştururken, oluşturulan nesnenin işaretçisinin bu yeni sınıfa transferini yeniden yazmak gerekli olmayacaktır. Ve sadece yeni sınıfta - daha önce yaratılmış nesnelere işaretçiler almanız gerekiyorsa - istenen nesneyi tanımlayıcısı ile elde etmek için bir yöntem yazın.

Ancak, herkes kendi yolunda delirir. Ben sadece :)

 
Hmm, ancak Sharpe ve MQL'de işaretçiler tanımlayıcılardır. Ve .NET kodu uzun zaman önce resmi olarak açıldı. Burada henüz MQL'ye delege taşımayı deneyen var mı?
 
Alexey Volchanskiy :
Hmm, ancak Sharpe ve MQL'de işaretçiler tanımlayıcılardır. Ve .NET kodu uzun zaman önce resmi olarak açıldı. Burada henüz kimse MQL'ye delege taşımayı denedi mi?
15.10 Bana hatırlat, büyük olasılıkla işe yarayacağını düşüneceğim.
 
Vladimir Simakov :
15.10 Bana hatırlat, büyük olasılıkla işe yarayacağını düşüneceğim.

15.10 nedir?

 
Alexey Volchanskiy :

15.10 nedir?

15 Ekim olabilir mi?

 
Artyom Trishkin :

15 Ekim olabilir mi?

Aynı ama şimdilik tatil.