Здесь нет никакой тайны, компоновщик говорит вам, что вы не определили недостающие символы, а вы этого не сделали.
Similarity::Similarity()
или Similarity::~Similarity()
просто отсутствуют, и вы определили другие неверно,
void Similarity::readData(Scanner& inStream){
}
не
void readData(Scanner& inStream){
}
и т. д. и т. д.
Вторая функция - readData, только первый - это метод readData класса подобия.
Чтобы это было ясно, в Similarity.h
void readData(Scanner& inStream);
, но в Similarity.cpp
void Similarity::readData(Scanner& inStream){
}