Hatalar, hatalar, sorular - sayfa 1133

 
A100 :

Ama bana söylemiyor

Tekrar ediyorum: Böyle bir nesne sınıfın kendi içinde oluşturulabilir ve böyle bir nesneye işaretçi sınıfın dışında oluşturulabilir.

Yani diyecek ki:

 class B {
        B() {}
};
void OnStart ()
{
        B *b;
        b= new B;
}
 
Fleder :

Yani diyecek ki:

Gerekirse bir nesne de oluşturabilirsiniz.

 class B {
        B( int ii ) : i( ii ) {}
        int i;
public :
         int g() { return ( i ); }
         static B *f( int ii ) { return ( new B( ii ) ); } 
};
void OnStart ()
{
        B *b = B::f( 100 );
         Print ( b.g());
}
 
Zeleniy :

Anlamadığım bir şey var, bağlanırken sunucuları nasıl tarayabilirim? Daha önce server adını girdim liste uçup gitti, gerekli olanları ekledim (resim 2, serverlar yaklaşık iki hafta önce eklendi) Bir resimde artık gerekli serverlar taranmıyor, ekleyemiyorum onlara. Zaten imkansız olan nedir veya kendiniz nasıl yaparsınız?


Sunucu adı bölümünü değil , şirket adı bölümünü kullanmalısınız. Sunucu adlarına göre arama, genellikle çok büyük eşleşme listeleri verdiği ve tüccarın istediği gibi olmadığı için artık çalışmıyor.

 
Lone_Irbis :

Evet ve forex de genellikle kullanmamak daha iyidir. Evet ve bir bilgisayar, bu konuda :) Genel olarak zararlı, tüm bunlar.

Genel olarak, düzeltme zaten bulundu. Çok güzel değil ama işe yarıyor. Düzeltmenin adı "OOP'nizin canı cehenneme". %) Sınıflardan tüm statik değişkenleri kesip, statik önekini kaldırarak ve yan yana düzgün bir yığına koyarak hataları ortadan kaldırmayı başardık.

Genel olarak, geliştiricilerin neden statik değişkenleri bu kadar sevmediğini ve otomatik başlatma ile çipi kaldırmanın neden gerekli olduğunu bilmiyorum, ancak gerekirse, o zaman gereklidir. Geçici çözümler kullanmam gerekecek ...

C++'da bu şekilde çalışır. Statik değişkenler açıkça ayarlanmalıdır.

Bununla ilgili herhangi bir sorun yok.

 
A100 :


Fikrini anladım.

Sınıfın bir örneği harici bir program tarafından doğmaya çalışırsa, yapıcı açılmalıdır.

Bir örnek "kendini doğurursa" (ve kendisine bir işaretçiyi harici bir programa iletirse), o zaman özel bir kurucu onun için kullanılabilir.

 
Renat :

C++'da bu şekilde çalışır. Statik değişkenler açıkça ayarlanmalıdır.

Bununla ilgili herhangi bir sorun yok.

Soru, başka nerede ve nasıl çalıştığı ve onunla ilgili sorunların olup olmayacağı ile ilgili değil. Ve açık bir belirti olmadan önce ve olmadan iyi çalıştığı gerçeği.

Ve zaten çalışmakta olan bir şeyi değiştirmek için, teoride, "komşuların aynısına sahip" olmasından daha önemli nedenler arzu edilir. :)

Ama hadi ama, sanırım, elbette, bu tek sebep değil.

 

Tek bir özel kurucuya sahip olmanın amacı, yalnızca türetilmiş sınıfların oluşturulmasını kısıtlamaktır.Ayrıca, bir sınıf birden çok kurucuya sahip olabilir.

 class A {
private :
        A( int ) {}
public :
        A( int , int ) {}
};
class B : public A {
        B() : A( 0 , 0 ) {}
};

 
Lone_Irbis :

Soru, başka nerede ve nasıl çalıştığı ve onunla ilgili sorunların olup olmayacağı ile ilgili değil. Ve açık bir belirti olmadan önce ve olmadan iyi çalıştığı gerçeği.

Ve zaten çalışmakta olan bir şeyi değiştirmek için, teoride, "komşuların aynısına sahip" olmasından daha önemli nedenler arzu edilir. :)

Ama hadi ama, sanırım, elbette, bu tek sebep değil.

Ve yapıcı başlatma listesindeki statik değişkenleri başlatmaya çalışırsınız.
 
A100 :

Tek bir özel kurucuya sahip olmanın amacı, yalnızca türetilmiş sınıfların oluşturulmasını kısıtlamaktır. Ayrıca, bir sınıfın birden çok yapıcısı olabilir.

Sonuçta, kodunuzun geliştiricisi sizsiniz ve bu tür kısıtlamalardaki anlam pek iyi değil.
 

Che, herkesin "MQL-Storage Fixing" penceresinin düğmeleriyle böyle bir çöpü var mı?

Düğmeler ile...