데이터 멤버를 private로 가져오기

모든 코드 데이터 멤버를 private로 가져오려면 리버스 엔지니어링 고급 옵션 창의 기타 탭에서 데이터 멤버 반영 탭을 선택하십시오. 코드에 있는 데이터 멤버의 액세스 레벨을 속성의 Visibility 특성으로 가져옵니다.

이 태스크 정보

이 옵션을 선택하지 않은 경우 다음과 같습니다.

이 옵션이 선택되면 다음과 같습니다.

예를 들어, clock.h 파일을 고려해 보십시오.

#ifndef CLOCK_H
#define CLOCK_H
#include <stdio.h>
class clock 
{
   int second;
   int minute;

   public:
      clock();
      void incTime(void);
   protected:
      int present_second(void) {return second;}
      int present_minute(void) {return minute;}
};
#endif

clock.cpp 파일에는 다음 코드가 있습니다.

clock.cpp
#include "clock.h"
clock::clock() : minute(0),second(0)
{
}
void clock::incTime(void)
{
   if (second == 59)
   {
      second = 0;
      minute ++;
   }
   else
   {
      second++;
   }
   cout << minute << ":" << second << endl;
}

데이터 멤버 반영 선택란을 선택 취소하고(<lang>_ReverseEngineering::ImplementationTrait::ReflectDataMembers 특성을 None으로 설정하는 것과 같음) 리버스 엔지니어링 고급 옵션 창의 입력 탭에 있는 입력 옵션 파일 목록에서만을 사용하여 이 파일을 리버스 엔지니어링하는 경우 결과는 다음 그림에 표시된 대로입니다.

액세서 및 뮤테이터는 브라우저에서 public으로 표시되지만, 속성의 실제 가시성은 private입니다.

데이터 멤버 반영 선택란을 선택하고 리버스 엔지니어링 프로세스를 반복하면 다음 그림에 표시된 대로, 속성은 private이고 액세스와 뮤테이터는 생성되지 않습니다.

이와 같은 경우, 이미 이러한 오퍼레이션을 보유하는 레거시 코드는 IBM® Rational® Rhapsody® 기본 오퍼레이션 대신 이 오퍼레이션을 사용합니다.


피드백