Вам не нужно копировать объявление функции-члена в файл заголовка дочернего класса, если вы не хотите переопределять его. В этом случае, я полагаю, что основная причина, по которой вы должны это объявить, - это сообщить всем, кто читает ваш заголовочный файл, что дочерний класс предоставляет другую реализацию. В принципе, компилятор может понять это автоматически, но человеку может быть очень больно делать то же самое вручную.
Обратите внимание, что во многих случаях люди, читающие ваши заголовочные файлы, могут не иметь доступа к фактическому исходному коду для тела (например, если это проприетарная библиотека, которая доставляется им как скомпилированные объекты), поэтому они не могут иди посмотри на тело, чтобы понять это.