문제

CPP 파일에서 C ++ 클래스의 개인 데이터 구성원을 사용자로부터 멀리 떨어 뜨릴 수있는 방법이 있습니까? 개인 구성원을 구현의 일부로 생각하며 헤더 파일에서이를 선언하는 것이 약간 뒤로 보입니다.

도움이 되었습니까?

해결책

"pimpl"관용구는 이것이 일반적으로 처리되는 방법입니다.

보다

다른 팁

Pimpl 관용구와 같은 것을 사용하고 싶습니다

http://en.wikipedia.org/wiki/opaque_pointer

이를 수행하는 전형적인 방법은 기능을 구현하는 내부 클래스에 대한 프록시 포인터입니다. 내가 아는 C ++에서 부분 클래스 정의를 수행하는 방법은 없습니다.

광고로 가나 요? ;)

공개 및 보호 된 API 만 선언하는 헤더 파일을 만들 수 있습니다.

사용자는 포함 할 수있는 것만으로 제시됩니다. 전체 API 및 정의를 사용하여 구축 한 라이브러리와 코드를 연결합니다.

상감 함수의 경우 : 감염되지 않은 코드로 사용되는지 확인하면 라이브러리에 정의를 사용할 수 있습니다 (그러나 사용자 구현에 인쇄 될지 확신 할 수 없습니다).

템플릿 코드의 경우 실제 방법이 없습니다. 반 마음이 하나의 솔루션은 다른 객체 유형의 템플릿 코드를 사용하는 코드를 만드는 것입니다. 사용자는 라이브러리에서 사용할 수있는 유일한 정의이기 때문에 이들로 제한됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top