Множственное наследование?
Возникнет, при вызове этого метода нужно будет указывать конкретный класс:
Base1::foo(); или Base2::foo();
Ответ - оба метода.
Обращаться к ним можно будет как Base1::foo() и Base2::foo()
При обращении возникнет ошибка неоднозначности выбора метода, если не указать явно класс.
П.С.
; ставится после определения класса, а после определения метода ее ставить не нужно.