Переместить реализацию в complex.cpp
. Прямо сейчас после включения этого файла реализация компилируется в каждый файл. Позже во время связывания существует очевидный конфликт из-за повторяющихся реализаций.
:: real () не сообщается, потому что это неявно (реализация внутри определения класса)