2009-11-26 4 views
0

나는 const 인 일부 속성을 가지고 있으므로 이러한 속성을 공개하거나 보호해야합니까?클래스의 const 속성이 public 또는 protected 여야합니까?

일부 파생 클래스에서 사용 되었기 때문에 protected를 지원했지만 내 친구는 const이기 때문에 공용이라고해도 어떤 차이가 없다고 주장했습니다.

하지만 cpp를 배웠을 때 가능한 한 속성을 보호하거나 비공개로 설정하고 접근자를 사용하여 변경해야한다고 생각했습니다.

감사합니다.

답변

2

다른 클래스에서 사용할 수있게하려면 공개로 설정하십시오. 계층 구조의 클래스 만 필요로하고 프로그램의 네임 스페이스가 불필요하게 어수선하게 남지 않도록하려는 경우 보호됩니다.

상수 인 경우 읽기 접근 권한을 만드는 것이 매우 바보입니다. 쓰기 액세서는 작동하지 않습니다. 그러니 신경 쓰지 마라.

+0

아니요 이러한 const 특성에 대한 읽기/쓰기 접근자가 없습니다. 일반적인 경우에만 예제를 제공했습니다. – Curious

+0

나는 그것을 이해했다. 제가 말한 것은 상수는 접근자를 필요로하지 않는다는 것입니다. 일반적으로 그들은 단지 불필요한 관료 일뿐입니다. –

4

외부 인터페이스와 관련이 없으면 개인 또는 보호되어야한다고 생각합니다. 공개하면 다른 사람이 사용할 수 있습니다. 구현을 변경하면 상수가 사라집니다 ... 웁스!

관련 문제