protected dans classe template

protected dans classe template - C++ - Programmation

Marsh Posté le 03-03-2006 à 15:10:54    

Salut!
j'ai une classe SimilarityVectorCalculator templatee sur class TNodeType qui fonctionne. Je voudrais faire heriter publiquement de cette classe une classe SimilarityVectorCalculatorBis dont une des methodes utilise un attribut protege de sa mere. A la compilation, je recois un message d'erreur comme quoi il ne connait pas m_Div (l'attribut protege de sa mere en qn):itkSimilarityVectorCalculatorBis.txx:52: error: `m_Div' undeclared (first use this function)

Code :
  1. template <class TNodeType>
  2. class ITK_EXPORT SimilarityVectorCalculator  : public ProcessObject
  3. {
  4. public:
  5. //...
  6. protected:
  7.   SimilarityVectorCalculator();
  8.   virtual ~SimilarityVectorCalculator();
  9.   SimilarityVectorCalculator(const Self& ) {}
  10. typename SampleType::Pointer m_Div;
  11. //...
  12. }


Code :
  1. template <class TNodeType> class ITK_EXPORT SimilarityVectorCalculatorBis  : public SimilarityVectorCalculator<TNodeType>
  2. {
  3. public:
  4. virtual ArrayType* BuildArray(TreeType* fixed,TreeType* moving, MeshingType* mesh);
  5. //...
  6. protected:
  7.   SimilarityVectorCalculatorBis():Superclass(){};
  8.   virtual ~SimilarityVectorCalculatorBis(){};
  9.   SimilarityVectorCalculatorBis(const Self& ) {}
  10. }


Code :
  1. template <class TNodeType>
  2. typename SimilarityVectorCalculatorBis<TNodeType>::ArrayType*
  3. SimilarityVectorCalculatorBis<TNodeType>
  4. ::BuildArray(TreeType* fixed,TreeType* moving, MeshingType* mesh)
  5. {
  6. //...
  7. m_Div->FillWith(moving->GetNumberOfLevels(),0);
  8. //...
  9. }


Si qqn voit l'erreur que j'ai faite, ce serait cool!

Reply

Marsh Posté le 03-03-2006 à 15:10:54   

Reply

Marsh Posté le 03-03-2006 à 16:48:11    

this->m_div
 
ou encore
 
SimilarityVectorCalculator<T>::m_div

Reply

Marsh Posté le 03-03-2006 à 16:53:01    

éventuellement des directives using dans la classe scope aussi.

Reply

Marsh Posté le 06-03-2006 à 11:53:14    

++fab a écrit :

this->m_div
 
ou encore
 
SimilarityVectorCalculator<T>::m_div


Merci beaucoup!!!! :)

Reply

Marsh Posté le 06-03-2006 à 14:39:46    

this-> est mieux (à moins que tu veuilles vraiment celui de l'un parent donné)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed