정방향 선언은 선언 다음의 코드가 Person이라는 이름의 클래스가 있음을 알 수 있도록 합니다. 이것은 사용된 이름을 볼 때 컴파일러를 만족시킵니다. 나중에 링커는 클래스의 정의를 찾습니다.
예
Class Person; void myFunc(Person p1) { // ... } Class Person { // Class definition here };
따라서 이 경우 컴파일러가 myFunc를 만나면 코드 어딘가에서 이 클래스를 만날 것임을 알게 됩니다. 클래스를 사용하는 코드가 클래스 정의를 포함하는 코드보다 먼저 배치/포함되는 경우에 사용할 수 있습니다.