뇌를 자극하는 C# 5.0 프로그래밍 6장 연습문제 3번 답뇌를 자극하는 C# 5.0 프로그래밍 6장 연습문제 3번 답

Posted at 2015.03.24 17:59 | Posted in IT/C#

6장에서 익히는 메소드관련 개념 중 오버로드에 대한 개념을 묻는 문제이다. 내가 작성한 답안은 아래와 같다.


문제 1. 다음 코드에 Plus() 메소드가 double 형 매개 변수를 지원하도록 오버로딩하세요.

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace practice6_3
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int a = 3;
  13. int b = 4;
  14. int resultA = 0;
  15.  
  16. Plus(a, b, out resultA);
  17.  
  18. Console.WriteLine("{0} + {1} = {2}", a, b, resultA);
  19.  
  20. double x = 2.4;
  21. double y = 3.1;
  22. double resultB = 0;
  23.  
  24. Plus(x, y, out resultB);
  25.  
  26. Console.WriteLine("{0} + {1} = {2}", a, b, resultB);
  27. }
  28. public static void Plus(int a, int b, out int c)
  29. {
  30. c = a + b;
  31. }
  32.  
  33. public static void Plus(double a, double b, out double c)
  34. {
  35. c = a + b;
  36. }
  37. }
  38. }
  39.  



  1. 오버로딩에 관한 문제인데 double plus를 사용해야하는거아닌가요? 잘몰라서 여쭤봅니다..
    • 2015.12.09 18:32 신고 [Edit/Del]
      public static void Plus(double a, double b, out double c) 에서 double이 아니라 void를 쓴 이유에 대해서 질문하신건가요? 문제가 'double 형 매개 변수를 지원'이기 때문에 반환형태는 그대로 두었습니다.
  2. 주석으로 오버로드가 필요한 메소드입니다 라고 되어있는 줄에서 double Plus 가아니고 Plus 인이유좀설명부탁드립니다
    • 2015.12.09 18:33 신고 [Edit/Del]
      double Plus 가 아니고 void Plus 를 쓴 이유에 대해서 질문하신거라면 문제가 요구하는 답이 'double 형 매개 변수를 지원하도록 오버로딩하시오' 이기 때문에 리턴타입(반환형태)를 변경하지 않았습니다.
    • 2015.12.11 15:33 신고 [Edit/Del]
      계속 마음에 걸려서 고민을 해보았습니다. 혹시 책이 개정되어서 void Plus가 double Plus로 변경되었나요?
  3. 직코
    직접 코딩한 결과
    Public static void Plus (double x, double y, out double z)
    {
    z = x + y
    }

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기