Возможно, имелись в виду различия между использованием extern при объявлении глобальных переменных и функций.
Для функций объявление функции происходит в заголовочном файле (.h), а определение — в исходном файле (.c или .cpp). 1 Чтобы использовать функцию в нескольких файлах, нужно объявить её в заголовочном файле и связать полученные объектные файлы с объектным файлом от компиляции исходного файла. 1
Для классов определение класса помещают в заголовочный файл, а методы класса определяют в соответствующем исходном файле. 1 Если нужно использовать класс в нескольких файлах, то определение класса размещают в заголовочном файле, а методы — в исходном. 1
Extern используют, когда нужно получить доступ к глобальной переменной, объявленной в другом исходном файле. 12 После компиляции два получившихся объектных файла связывают. 12
Таким образом, основное отличие заключается в том, что для функций и классов существуют разные подходы к их использованию: для функций — объявление и определение в разных файлах, для классов — размещение определения в заголовочном файле и определение методов в исходном файле, а extern применяют для работы с переменными, которые объявлены в другом файле. 12