OOP. Başvuru soruları - sayfa 16

 
Yedelkin :

Ne, gerçekten zor/yanlış sorular mı?

Uzun bir süre ilk yöntemi ("referans yoluyla") kullandım, ancak tanımlayıcılar hakkındaki fikri gerçekten beğendim. Sadece bu yüzden tüm dersleri yeniden yazmaya değer mi bilmiyorum.

İlk yol daha hızlı çalışacaktır. "Descriptor" üzerinden erişim daha uzundur.
 
mql5 :
İlk yol daha hızlı çalışacaktır. "Descriptor" üzerinden erişim daha uzundur.
Teşekkürler, çok yardımcı oldunuz.
 

Söylemek,

ana sınıfın 15 yöntemi varsa ve alt sınıf kendi başına bir yöntem içeriyorsa ve üst sınıftan miras alınan yalnızca üç yöntemi kullanıyorsa, böyle bir alt sınıf için bellek nasıl ayrılacak: 16 için bellek ayırma ihtiyacına göre yöntemler mi yoksa sadece 4 gerçekten kullanılan yönteme dayalı mı?

Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
 
Yedelkin :

Söylemek,

Kafanı bu şekilde puanlamıyorsun)
 
Yedelkin :

Söylemek,

ana sınıfın 15 yöntemi varsa ve alt sınıf kendi başına bir yöntem içeriyorsa ve üst sınıftan miras alınan yalnızca üç yöntemi kullanıyorsa, o zaman böyle bir alt sınıf için bellek nasıl ayrılacak: 16 için bellek ayırma ihtiyacına göre yöntemler mi yoksa sadece 4 gerçekten kullanılan yönteme dayalı mı?

Bir nesnenin belleği yöntemler için değil, veriler için ayrılmıştır. Tüm yöntemler (yani işlevler) yürütülebilir kodda tek bir örnekte saklanır
 
stringo :
Bir nesnenin belleği yöntemler için değil, veriler için ayrılmıştır. Tüm yöntemler (yani işlevler) yürütülebilir kodda tek bir örnekte saklanır
Anlıyor gibi görünüyor. Üst sınıftan aynı yöntem 10 farklı alt sınıfta kullanılıyorsa, yine de yürütülebilir kodda tek bir örnekte saklanacaktır.
 

Arama çalışmıyor. Belki kendimi tekrar edeceğim, ama soru şu: bir sınıfın nesnesi kendini yok edebilir mi? Onlar. ilk olarak, sınıf nesnesinde, ayrılmış this kelimesini kullanarak nesnenin kendisine referansını alırız, ardından silme operatörünü nesnenin karşılık gelen tanımlayıcısına (işaretçi) uygularız.

Gibi bir şey:

pointer=GetPointer( this );
delete pointer;

Yoksa bir nesneyi "dahili" bir yoldan ziyade "harici" bir şekilde silmek daha mı iyi/tercih edilir?

 
GetPointer, kaldırılamaz bir türe bir işaretçi döndürür . Bir nesne kendini silemez. Ve iğrenç :)
 
Yedelkin :

........: Bir sınıfın nesnesi kendini yok edebilir mi? Onlar. ilk olarak, sınıf nesnesinde, ayrılmış this kelimesini kullanarak nesnenin kendisine referansını alırız, ardından silme operatörünü nesnenin karşılık gelen tanımlayıcısına (işaretçi) uygularız.

İntihar eğilimleri, duruma çok dar bir bağlamda bakmanın güvenilir bir işaretidir. :)

Bir karşı sorum var: Tüm bu ekonomiyi nereden arayacaksınız? Programdaki yürütme akışını görebilmeniz için daha pratik bir örnek yazın. Nesneye nasıl hitap edeceksiniz?

Açıklamama izin ver. Nesne statik (genel) veya otomatik (yığın üzerinde) ise, tahsis edilmesi gerekmez. Yürütme sisteminin kendisi gerektiğinde onu ortadan kaldıracaktır.

Ve nesne dinamikse, silindiğinde sıfırlanması gereken harici bir referans vardır.

Başka seçenek yok.

 
MetaDriver :

İntihar eğilimleri, duruma çok dar bir bağlamda bakmanın güvenilir bir işaretidir. :)

...
Müstehcenliği nasıl ifade edeceğinizi öğrenecek misiniz? :hakkında)