찾다

 >  Q&A  >  본문

C++ 函数重载的时候,参数可以用父类类型和子类类型重载吗?

我用C++编程的时候需要对函数进行重载,使函数拥有不同的参数类型,分别是父类类型和子类类型,这样用重载会不会有问题?

黄舟黄舟2826일 전767

모든 응답(3)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 15:33:56

    예, 예를 들어 이 코드입니다.

    으아악

    출력은

    으아악

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 15:33:56

    1. 예, C 오버로드는 소스 파일을 대상 파일로 컴파일할 때 함수 이름을 바꾸면 달성됩니다. 컴파일러는 함수를 호출할 때 전달된 매개변수에 따라 호출을 결정합니다. 이는 C 의 정적 다형성이라고 불리는 컴파일 단계에서 완료됩니다.

    2. C 에도 override가 있는데, 이는 런타임 클래스의 가상 테이블을 통해 구현되는 가상 함수, 상속, 포인터 메커니즘을 통해 동적 다형성을 구현하는 것입니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:33:56

    상관없습니다. @伊仙 님의 답변과 같습니다. ,
    그러나 매개변수가 각각 상위 유형과 하위 유형의 포인터인 경우에는 작동하지 않습니다(참조는 괜찮습니다).

    회신하다
    0
  • 취소회신하다