// Classe de base abstraite pure class base { ... virtual int get_int() const = 0; .... }; // Première classe dérivée de base class A : public base{ .... int get_int() const {.....} ... }; // Seconde classe dérivée de base class B: public base{ .... int get_int() const {.....} ... }; class use { public: ... int method(const A & ref_A){ ... const int my_int = A.get_int(); .... } }; // Dans le main int main(int argc,char * argv[]){ // Un objet de type A A objet_A; // Un objet de type use use objet_use; // A ce niveau je reçoi une erreur de segmentation objet_use.method(objet_A); ... }