Sınıf hiyerarşisi var. Temel sınıf, dosyadan yüklenebilen (ve çalışma süresi boyunca yeniden yüklenebilen) bazı ayarlama parametrelerini kullanır. Her türetilmiş sınıf, bazı ek parametreler ekleyebilir. Temel kurucuya doğru boyutta bir parametre dizisi tahsis etmenin bir yolunu arıyorum, böylece türetilmiş sınıfta tahsis etmek ve yeniden tahsis etmek zorunda kalmam. Böyle bir şey bekliyordum, ama (parametreler her zaman 2 elemanı vardır) çalışmıyor:Türetilmiş sınıfa dayalı olarak temel yapıcıda dizi nasıl ayrılır?
class Base
{ static int nParms;
virtual int getNParms() { return nParms;}
float *parameters;
public:
Base()
{ parameters= new float[this->getNParms()];
parameters[0] = globalReloadableX;
parameters[1] = globalReloadableY;
}
};
int Base::nParams =2;
class Derived : public Base
{ static int nParms;
virtual int getNParms() { return nParms;}
public:
Derived() : Base()
{ parameters[2] = globalReloadableZ;
}
}
int Derived::nParams =3;
Ben this question gördüm ama çözüm benim için oldukça işe orada buna gerek yoktur. Ayrıca parametreleri düzenli her sınıfta dizi yapmadan çalıştı:
class Base
{ float parameters[2]
...
class Derived : public Base
{ float parameters[3]
...
ama bu Türetilmiş yapar 2 ayrı diziler var.
Herhangi bir fikrin var mı?
Neden değil? Çok açık! Bazen detaylara çok fazla sarılıyorum ... Nedenini açıkladığın için teşekkürler. – AShelly
Sorun değil, herkese olur! –