Forward declaration ช่วยให้โค้ดหลังการประกาศทราบว่ามีคลาสชื่อ Person สิ่งนี้ทำให้คอมไพเลอร์พึงพอใจเมื่อเห็นชื่อเหล่านี้ใช้ ต่อมาลิงเกอร์จะพบคำจำกัดความของคลาส
ตัวอย่าง
Class Person; void myFunc(Person p1) { // ... } Class Person { // Class definition here };
ดังนั้นในกรณีนี้เมื่อคอมไพเลอร์พบ myFunc มันจะรู้ว่าจะพบกับคลาสนี้ที่ไหนสักแห่งในโค้ด สามารถใช้ในกรณีที่โค้ดที่ใช้คลาสถูกวาง/รวมไว้ก่อนโค้ดที่มีคำจำกัดความของคลาส