Замечания
Функции класса реализованы в заголовочном файле, это нехорошо, если не используются классификаторы inline. Поэтому задание пока не зачту.
В остальном хорошо, единственное проверку на то, что имя файла не дано нужно делать иначе.
if (argv[1] == "")
делать нельзя, вы сравниваете какие-то два указателя, один из которых ещё и может не существовать, естественно они не равны.
Это делается с помощью проверки числа аргументов if (argc < 2)
.