클래스 계층 구조가 있습니다. 기본 클래스는 파일에서로드 할 수있는 (그리고 런타임 중에 다시로드 할 수있는) 몇 가지 조정 매개 변수를 사용합니다. 파생 된 각 클래스는 몇 가지 추가 매개 변수를 추가 할 수 있습니다. 나는 기본 생성자에서 올바르게 크기가 지정된 매개 변수 배열을 할당하는 방법을 찾고 있으므로 파생 클래스에서 할당을 해제하고 다시 할당 할 필요가 없습니다. 이 같은 뭔가를 기대했다하지만 (매개 변수는 항상 두 요소가) 작동하지 않습니다 :파생 클래스를 기반으로 크기가 기본 생성자에서 배열을 할당하는 방법?
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;
내가 this question을 본 적이 있지만이 솔루션은 나를 위해 잘 작동이하지 않습니다. 나는 또한 매개 변수를 정기적으로 각 클래스의 배열을 만드는 시도 :
class Base
{ float parameters[2]
...
class Derived : public Base
{ float parameters[3]
...
을하지만 그 파생 만드는 것은이 개 별도의 배열을 가지고있다.
아이디어가 있으십니까?
왜 그렇지 않습니까? 너무 분명하다! 때때로 나는 세부 사항에 너무 싸서 너무 ... 이유에 대한 설명 주셔서 감사합니다. – AShelly
아무 문제 없어, 모든 사람에게 발생합니다! –