X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=randomforest.hpp;h=d0ac1ec063d46d4ff1367e87cf322870f7e49a9c;hb=372fb21ea66ced432b109225851a1b80ef0491a3;hp=5dd1876fcb4a796839173c16df01177235b74078;hpb=ac663461b19ad1436a06aa63f97221d1ff105482;p=mothur.git diff --git a/randomforest.hpp b/randomforest.hpp index 5dd1876..d0ac1ec 100644 --- a/randomforest.hpp +++ b/randomforest.hpp @@ -30,14 +30,14 @@ public: //NOTE:: if you are going to dynamically cast, aren't you undoing the advantage of abstraction. Why abstract at all? //could cause maintenance issues later if other types of Abstract decison trees are created that cannot be cast as a decision tree. -// virtual ~RandomForest() { -// for (vector::iterator it = decisionTrees.begin(); it != decisionTrees.end(); it++) { -// // we know that this is decision tree, so we can do a dynamic_case here -// DecisionTree* decisionTree = dynamic_cast(*it); -// // calling the destructor by deleting -// delete decisionTree; -// } -// } + virtual ~RandomForest() { + for (vector::iterator it = decisionTrees.begin(); it != decisionTrees.end(); it++) { + // we know that this is decision tree, so we can do a dynamic_case here + DecisionTree* decisionTree = dynamic_cast(*it); + // calling the destructor by deleting + delete decisionTree; + } + } int calcForrestErrorRate(); int calcForrestVariableImportance(string);