• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목C++은 static typed languages 입니다2019-03-20 07:58
작성자 Level 10

프로그래밍 언어마다 고유의 문법이 있어야 하니 따라야지요.

본인이 질의한 질문에 맞춰서 답변합니다.


1. 

C++와 같은 언어를 static typed language하고 합니다.

Python과 다르게 거의 모든 대부분의 소소한 부분을 프로그래머가 직접 작업해 줘야 하며, 

a = b 일때 a와 b의 타입이 다르면 매우 싫어 합니다.

가능한 경우 C++이 프로그래머 대신 implicit하게 타입을 변환해 주기도 하지만,

되도록 프로그래머가 직접 해주는 것이 (C++과 같은 언어에서는) 오류를 줄이는 좋은 길입니다.

먼저 함수 앞의 double은 idiv()가 double 값을 return 하도록 만들었다는 의미입니다.

따라서 함수 안에서 return 하는 값이 double 이여야 하는데,

만약 return a/b 라면, int 타입이 됩니다.

따라서 a/b를 먼저 double로 만들어 줘야지요, 이 문법이 (double) a/b 혹은 double(a/b) 입니다.

결론적으로 함수이름 앞의 double이 return 값을 double 타입으로 돌려준다고 정한 것이니,

return 문법에서 돌려주는 값도 프로그래머가 double로 만들어 줘야 합니다.


2.

네, 맞습니다.

다음 C++의 type cast 내용을 읽어서 이해해 보세요.

http://www.cplusplus.com/doc/oldtutorial/typecasting/

 
댓글