[Héritage] Hériter d'une bibliothèque
Bonjour à tous,
Je travaille actuellement avec la bibliothèque de traitement d'images CImg. Je la trouve très bien et très complète. Cependant, j'aimerai rajouter des fonctions que je code moi-même...
Je pourrai coder directement dans la librairie (sous forme d'un .h) les nouvelles fonctions membres de mon propre cru, mais en cas de mise à jour de la bibliothèque, celà pose évidemment problème.
La solution logique est donc l'héritage. Mais j'ai une question importante à vous poser: comment créer une classe qui "renverrai" tout vers la classe mère?
Suis-je obliger de redéfinir tous les constructeurs dans ma nouvelle classe fille?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #pragma once
#include <iostream>
#include <string>
#include "CImg.h"
template <typename T>
class Image : public cimg_library::CImg<T>
{
public:
Image(); //Constructeur par défaut
Image(std::string nom_image); // Autre constructeur
~Image();
}; |
Merci à vous ! :D
Utilise les 'plugins' de CImg
Il y a un mécanisme exprès pour ajouter tes fonctions directement dans la classe CImg, sans avoir d'héritages à faire : les plug-ins.
"cimg_plugin : This variable tells the library to use a plugin file to add features to the CImg<T> class. Define it with the path of your plugin file, if you want to add member functions to the CImg<T> class, without having to modify directly the "CImg.h" file. An include of the plugin file is performed in the CImg<T> class. If cimg_plugin if not specified (default), no include is done."
Tu peux regarder, il y a des exemples qui montrent comment faire. Efficace et simple.