Trong C++, khai báo trước (forward declaration) cho phép mã sau khai báo biết có lớp tên Person. Điều này thỏa mãn trình biên dịch khi thấy tên này dùng. Sau đó linker tìm định nghĩa lớp.
Ví dụ mã
class Person;
void myFunc(Person p1) {
// ...
}
class Person {
// Định nghĩa lớp ở đây
};Vì vậy khi trình biên dịch gặp myFunc, nó biết sẽ gặp lớp này sau trong mã. Dùng khi mã dùng lớp đặt/include trước mã chứa định nghĩa lớp.