2010-05-26 5 views
1

IClass (순수 가상 함수가 있음)이라는 추상 클래스가 있습니다. 상속받은 클래스가 있습니다. IClass : CFirst, CSecond입니다. 나는 부스트로 상속 클래스의 객체 :: ptr_vector 추가 할 :빌드주기를 향상시키는 방법

class IClass { virtual void someFunc() = 0; }; 
class CFirst : public IClass { }; 
class CSecond : public IClass { }; 

boost::ptr_vector<IClass> objectsList; 

objectsList.push_back(new CFirst()); 
objectsList.push_back(new CSecond()); 

와 지금 내 목표는 objectsList의 모든 개체에서 (ICLASS에 declarated됩니다) 함수를 호출하는 것입니다. 나는 BOOST_FOREACH를 사용하는 것을 선호 것 :

foreach(IClass tempObj, objectsList) 
{ 
    tempObj.someFunc(); 
} 

문제는 ICLASS이다 - 추상 클래스, 그래서 나는 foreach는 사이클에 대한 그것의 인스턴스를 만들 수 없습니다. 어떻게해야합니까?

foreach(IClass& tempObj, objectsList) 
{ 
    tempObj.someFunc(); 
} 
:

답변

1

대신 IClass에 대한 참조를 사용하여
관련 문제