Type Erasure : marier la POO et la Programmation Générique
	
	
		Bonjour,
J'ai publié un article que j'ai écrit à propos du principe de Type Erasure appliqué au C++. Il s'agit d'associer les templates du C++ avec la POO pour résoudre des problèmes bien précis.
Voici le synopsis de l'article.
	Citation:
	
		
		
			Si vous utilisez les templates du C++ pour écrire des composants génériques, vous avez déjà peut-être voulu les combiner à la programmation orientée objet, via de l'héritage par exemple. Peut-être avez-vous eu des difficultés ; cet article va vous présenter une technique répandue, nommée Type Erasure, qui vous permettra de tirer profit des deux mondes sans perdre en flexibilité ni en maintenabilité.
			
		
	
 http://alp.developpez.com/tutoriels/type-erasure/
	 
	
	
	
		Merci pour cet excellent article.
	
	
		J'avais juste 2 petites questions :
1/ Je ne comprends pas dans le destructeur de la classe de base widget :
	Code:
	
1 2 3 4 5 6 7
   |  
virtual ~widget()
{
	if(parent == NULL)
		widget::destroy();
 
} | 
 Pourquoi tu ecris widget::destroy(); au lieu de this->destroy(). Car sinon, un widget parent n'appellera pas le destroy des sous classes widget_impl  dont le destructeur est cense detruire les objets Policies ?
2/ Enfin, pourquoi l'heritage sur les classes Policies est public et non pas prive ? Les policies ne sont pas de la composition plutot que de l'heritage ?
En tous cas merci pour cet article tres instructif pour moi.