문제 : 클래스에서 그림자
다음 클래스 정의를 고려하십시오.
클래스 측정 {. int n; Double execent_set []; char nomefile []; 이중 T; 공공의: void get (); void printall (); 이중 평균 (); Double Thermal_comp (); };
이 클래스의 get 메소드는 파일에서 값을 읽고 측정 _set 배열에 저장하고 온도 값을 읽고 t 변수에 저장하기위한 것입니다.그러나 다음과 같이 get 메소드를 구현할 때 :
class Measure {
int N;
double measure_set[];
char nomefile[];
double T;
public:
void get( );
void printall( );
double mean( );
double thermal_comp( );
};
void measure :: get () {get () {get () {) { cout > nomefile; cout > geason_set [m]; if (f.eof ()) break; 중 ; } f.close (); n = m 1; cout > t; cout
온도 값 (t)이 의도 된 t 변수 대신 gress_set 배열의 첫 번째 요소에 저장되고 있음을 알았습니다. 이 경우, Get 메소드에서 선언 된 t 변수는 클래스 멤버 변수 t. 측정 :: get () { cout > nomefile; cout > geason_set [m]; if (f.eof ()) break; 중 ; } f.close (); n = m 1; cout > 온도; t = 온도; cout
스코프 해상도 연산자를 사용하여 클래스 멤버 변수를 명시 적으로 참조하여 다음과 같습니다. cout > nomefile; cout > geason_set [m]; if (f.eof ()) break; 중 ; } f.close (); n = m 1; cout > this-> t; // 스코프 해상도 연산자를 사용하여 클래스 멤버 변수를 참조하십시오. cout
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3