Интерфейс описывает, что делает класс, а реализация — как он это делает. Обычно интерфейс определяется в заголовочном файле (.h), а реализация — в файле исходного кода (.cpp).
Заголовочный файл (интерфейс)
// MyClass.h
class MyClass {
public:
MyClass();
void myFunction();
private:
int data;
};
Файл исходного кода (реализация)
// MyClass.cpp
#include "MyClass.h"
MyClass::MyClass() : data(0) {}
void MyClass::myFunction() {
// Реализация функции
}
Также по интерфейсу и реализации см. пример из Пример аддитивности с классами.