#include <exception>
#include <iostream>
#include <iterator>
#include <string>
#include <sstream>
#include <vector>
#include "classifiers.h"
using std::cout;
using std::string;
using std::vector;
class CombinedClassifier {
public:
CombinedClassifier(const string& fast_string, const string& main_string) {
fast_class = &FastClassifier(fast_string);
main_s = main_string;
main_class = nullptr;
}
double classify(const string& s) {
try {
fast_class -> classify(s);
}
catch (TooHardObjectException()) {
if (main_class == nullptr) {
main_class = &MainClassifier(main_s);
}
main_class -> classify(s);
}
}
private:
string main_s;
FastClassifier* fast_class;
MainClassifier* main_class;
};