클래스가 많이 선언되어 있고, 모두 기본 클래스 (상속 클래스)로부터 상속됩니다. 내가 사용하고 싶습니다 일반적인 방법 ...C++, oop, 클래스 목록 (클래스 유형) 및 그 인스턴스 생성
지금, 나중에, 클래스 (하지 개체)의 목록을 가지고 루프에서 그들의 인스턴스를 만들고 일반적인 언급 호출하는 인스턴스를 사용할 필요가 방법 ...
의사 코드
class Abstract {
void Something();
}
class TaskOne : public Abstract {
void Something(); // method implemented somewhere below
}
class TaskTwo : public Abstract {
void Something(); // method implemented somewhere below
}
...
list<Abstract> lst;
lst.push_back(TaskOne); // passing class type, not instance!
lst.push_back(TaskTwo);
Abstract tmpObject = new lst[0]; //I know its wrong, just a way of expressing what I'd like to do to have instance of TaskOne!
,536,
팁을주세요 ...
런타임에 정의 된 유형의 목록입니다하거나 컴파일에서 알려져 BOOST_PP도
는
cpp foo.c
수율을 실행 일할 수 시각? –당신이 무엇을 요구하고 있는지 명확하지 않지만, 클래스 계층의 인스턴스를 다룰 때는 값의 모음이 아닌 POINTERS의 콜렉션을 사용해야 만합니다. –
구현 된 모든 유형의 목록은 컴파일 타임에 알려져 있습니다. 하지만 내가 사용해야하는 클래스 인스턴스는 입력 데이터에 따라 다릅니다. 따라서 새로운 상속 클래스를 추가 할 때 시간을 절약하기 위해 자동화하고 싶습니다. – migajek