2016-12-01 9 views
-4

을 int로 수 전화 할 권리가 있니?나는 플로트와 과부하 내가 제대로 첫 번째가입니다 감지 <code>mymethod (1.2)</code>를 호출 할 때 다음 방법</p> <pre><code>void mymethod(float val) {} </code></pre> <p>하고 다른</p> <pre><code>void mymethod (int val) {} </code></pre> <p>를 원한다면

+2

는 당신이 시도 : 이후 경우

mymethod() 방법은 오버로드? – namingFailed

+2

[float를 매개 변수로 사용하는 오버로드 메서드에 int 인수를 전달할 때 double 매개 변수가있는 경우 어떻게됩니까?] (http://stackoverflow.com/questions/24279680/what-happens-when-we) -pass-int-arguments-to-the-overloading-method-having-float-a) – Zia

+0

[overriding vs overloading에 대한 기사 읽기 (http://stackoverflow.com/questions/12374399/what-is-the-difference- 오버 메서드 간 오버라이드) – PeterMmm

답변

0

mymethod(1.2)은 기본적으로 double에 저장된 인라인 숫자 값에 대한 문자 1.2 이후 mymethod(double d) 방법을 찾을 것이다. 작동 과부하,이 경우 mymethod(1.2F)

mymethod(float val)가 호출됩니다

당신은 작성해야합니다.

오버로드를 사용하면 이름이 같지만 고유 한 매개 변수를 사용하여 여러 메서드를 명명 할 수 있습니다. 컴파일 타임에 컴파일러는 유효 매개 변수와 일치하는 메소드를 선택합니다.

void mymethod(float val) {} 
void mymethod(int val) {} 
+0

좋아요. 시도해 보겠습니다. –