c++ 공부중인 문관데
class 내 int 로 정의한 private 의 자료형을 함수를 통해 double로 바꿀 수 없나요?
저렇게 하면 계속 int type으로 출력되서여
병신같은 질문인거 같긴한대 고졸문돌이라 양해점;
class people
{
private:
int height;
public:
void output()
{
cout <<height;
}
double double_height()
{
height*=2.3;
return height;
}
int main()
{
people p1;
p1.double_height();
p1.output;
return 0;
}
리턴을 height으로 하지말고 return height*2.3; 이렇게 하면됨 명시적으로 (double) 형변환도 시켜주고
넌 c부터 다시 공부해야겠다
선생님 '명시적으로 (double) 형변환' 이부분을 잘 모르겠어여..
선언이 int인데 함수에서 double형변환하면 뭐함 결국 소수점 떼이는데 ㅋㅋㅋㅋ 병신인가
그럼 어케함?
위에놈이 병신임 그냥 출력이 목표면 return height*2.3두고 Output함수안에서 해당 함수 호출해 height에 double형 값을 저장하고 그 뒤에 height값 호출은 못함
오 된거 같은데 님 말은 private 에서 int 선언한걸
함수를 통해서 다른형으로 변환못한다는 거져?
Private같은 접근제어자 문제가 아니라 height같은 일반 변수선언이면 그 뒤로 형 못 바꿈 동적할당해서 다시 만들고 지울거 아니면 이미 메모리 할당 된거라 계산 할때만 임시로 형변환 가능한거지
아하.. 대충은 알아먹겠음.....더공부해야겠네여 감사영
형변환 안해줘도 정상값 출력됨 2.3이 실수형이라 묵시적 형변환 돼서 출력 정상적으로 됨