2010-03-31 2 views
0

변수에 대한 접근 자 및 변형자를 자동으로 생성하려고하지만 길을 찾을 수 없습니다. 마우스 오른쪽 버튼 클릭/리팩터링 ... 솔루션을 시도했지만 리펙터 항목이 표시되지 않습니다.Visual C++ 2008에서 접근 자 생성

저는 지금 매크로를 작성하는 방법을 배우고 싶지 않습니다. 상업용 솔루션 (인턴쉽 학생)을 살 돈이 없습니다. 도움이된다면 환영받을 것입니다. 필자의 모든 도움을 손으로 쓴다고 생각하지 않습니다.

참고 : C++이므로 {get; set} 구문이 작동하지 않습니다 (또는 그렇습니까?).

편집 : "모든 변수에 대한 읽기/쓰기 접근 자 생성"이 아닙니다. 나는 각각의 프로토 타입과 선언을 작성하지 않고도 접근 자 가져 오기를 생성 할 수 있기를 원합니다.

+0

공용 변수 사용하기 –

+3

C++ (또는 다른 OO 언어)에서 맹목적으로 get/set 함수를 작성하는 것은 좋지 않습니다. –

+0

@Neil 그것은 get/set 함수를 제공하면 변수를 public으로 만들 수 있다는 점에서 내가 암시하고있는 것입니다. –

답변

2

아니요, 아니요, C++에는 접근 자에 대한 구문이 없습니다. C++ 프로그래머는 언어가 제대로 지원하지 않는 기능을 싫어합니다. Resharper 스타일 도구가 많은 경우에도 마찬가지입니다. 입력하지 않으려면 C++는 고려해야 할 언어가 아닙니다.

닐 (Neil)을 행복하게 유지하고 "get"접두사를 생략하여 "잘못된 디자인"을 방지하십시오. size()와 마찬가지로 getSize()가 아닙니다.

MSVC는 __declspec (속성) 선언자를 사용하여 속성 선언을 지원합니다. 그러나 그것은 매우 비표준입니다. 그리고 많은 타이핑이 필요하다면 여전히 액세서 기능을 작성해야합니다.

+0

감사합니다. 유용한 답변이었습니다. size() 또는 length() 등의 메서드를 알고 있지만 C++ 클래스를 처리하는 방법을 재미있게 배웠습니다. 나는 임베디드 시스템에서 일하고 있으며 C 만 사용하고 있으며, Java와 C#에서 OO 프로그래밍을 알고 있습니다. 어쨌든 두 개의 클래스가있는 프로젝트에 몇 개의 접근자를 생성하려고 했으므로 설계 고려 사항은 매우 적합하지 않습니다. 다시 말해 명확한 답변에 감사드립니다. 추신 : "C++은 클래스가있는 C가 아닙니다"라고 말하지 마십시오. 이미 알고 있습니다. – gramm

1

모든 회원 변수에 대한 getters/setters를 작성하는 것이 옹호자가 C++보다 훨씬 많은 OO라고 주장하는 일부 언어에서는 유창하다고 알고 있지만, 그렇다면 IMO는 이 아니며 OO입니다.

이 연습에 대해 내가 생각하는 것보다 훨씬 더 설득력있게 설명 할 수있는 this paper을 읽어주십시오.