mercredi 3 juillet 2019

Making sure derived class implements atleast one of two methods from abstract class (C++)

How do I ensure my derived class implements at least one of two chosen methods in the base class?

    class base {
     public:

     virtual int sample()=0;
     virtual Eigen::VectorXf sample()=0;
    };

    class Derived : Base {
    int sample() override {return 1;}

    }

This code returns an error, as the sample method is not implemented with the VectorXf return type. However, my intention is that only one of these need to be implemented. The only reason they are seperate in the base class is that they have different return type. How can I do this in C++?

Aucun commentaire:

Enregistrer un commentaire