SVM derived class
I am trying to create a derived class from the Opencv3.0 SVM in the following way and I get an error. Can anyone suggest a solution for this? Thanks in advance.
class MyClass: public SVM
{
-----
}
int main(void)
{
MyClass *mysvm = new MyClass;
}
This defnition is generating the following error while compilation:-
||In function 'int main()':|
error: invalid new-expression of abstract class type 'MyClass'|
note: because the following virtual functions are pure within 'MyClass':|
|302|note: virtual int cv::ml::StatModel::getVarCount() const|
|307|note: virtual bool cv::ml::StatModel::isTrained() const|
|309|note: virtual bool cv::ml::StatModel::isClassifier() const|
|349|note: virtual float cv::ml::StatModel::predict(cv::InputArray, cv::OutputArray, int) const|
|493|note: virtual int cv::ml::SVM::getType() const|
|495|note: virtual void cv::ml::SVM::setType(int)|
|500|note: virtual double cv::ml::SVM::getGamma() const|
|502|note: virtual void cv::ml::SVM::setGamma(double)|
|507|note: virtual double cv::ml::SVM::getCoef0() const|
|509|note: virtual void cv::ml::SVM::setCoef0(double)|
|514|note: virtual double cv::ml::SVM::getDegree() const|
|516|note: virtual void cv::ml::SVM::setDegree(double)|
|521|note: virtual double cv::ml::SVM::getC() const|
|523|note: virtual void cv::ml::SVM::setC(double)|
|528|note: virtual double cv::ml::SVM::getNu() const|
|530|note: virtual void cv::ml::SVM::setNu(double)|
|535|note: virtual double cv::ml::SVM::getP() const|
|537|note: virtual void cv::ml::SVM::setP(double)|
|545|note: virtual cv::Mat cv::ml::SVM::getClassWeights() const|
|547|note: virtual void cv::ml::SVM::setClassWeights(const cv::Mat&)|
|554|note: virtual cv::TermCriteria cv::ml::SVM::getTermCriteria() const|
|556|note: virtual void cv::ml::SVM::setTermCriteria(const cv::TermCriteria&)|
|560|note: virtual int cv::ml::SVM::getKernelType() const|
|564|note: virtual void cv::ml::SVM::setKernel(int)|
|568|note: virtual void cv::ml::SVM::setCustomKernel(const cv::Ptr<cv::ml::SVM::Kernel>&)|
|665|note: virtual bool cv::ml::SVM::trainAuto(const cv::Ptr<cv::ml::TrainData>&, int, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, cv::ml::ParamGrid, bool)|
|679|note: virtual cv::Mat cv::ml::SVM::getSupportVectors() const|
|696|note: virtual double cv::ml::SVM::getDecisionFunction(int, cv::OutputArray, cv::OutputArray) const|
||=== Build failed: 1 error(s), 18 warning(s) (0 minute(s), 2 second(s)) ===|