이게 이렇게 출력되는게 맞는거야 ??????
p2가 DiscountProduct 함수로 출력되지 않는 이유가 있나
virtual void print()로 해라
ㄳㄳ 그부분은 해결했는데, 출력에서 두번째부분 p2->getPrice() 이 부분은 여전히 3000으로 출력되네.
함수 형식이 서로 다르니 다른 함수로 인식되어야 하는거 아니야?
virtual double 이런식으로 쓰니까 오류뜸 ㅠㅠ
반환형이 다른 함수를 오버로딩 할 수도 없고 오버라이딩 할 수도 없다
virtual int GetPrice()라고 짓고 discountProduct함수 리턴하는 값 int형으로 캐스팅해
virtual 함수가 아니면 포인터 형태 기준으로 함수가 작동하니 discountProduct 인스턴스여도 Product 함수가 작동하는거다
음 내가 궁금한 부분은 서로 반환형이 다른 경우 함수 이름이 같아도 다른 함수로 인식하잖아??
저 경우에서는 서로 다른 함수로 인식되는데 왜 둘 다 같은 값이 출력되는지 부분이 궁금했서
아 내가 살짝 잘못 말했네
만약 두번째의 getPrice를 double 형으로 무조건 출력하려 한다면 getPrice의 이름을 바꾸는 경우말고 다른 해결법은 없는거야??
GetPrice() 처럼 매개변수 안들어가는 반환있는 함수는 다른 형으로 오버로딩못한다는 뜻임 double calculate(double input) /int calculate(int input) 이런 식은 됨
너가 말한대로 double형 출력하고 싶으면 이름 다른 함수 새로 정의하는거 말곤 답없음
아 이해했다 p2가 Product 포인터라서 Product getPrice
가 호출되는거였넹 매개변수 안들어가있는 함수를 다른형으로 오버로딩 못한다는 사실은 첨알았당
ㄳㄳㄳㄳ 고마워 ㅠㅠ
함수를 한줄로 쓰지말자 가독성 너무 떨어진다
한 줄 짜리 함수들은 저렇게 하는게 더 읽기 편해서 그랬는데.. 생성자같은 경우 내용ㅇㅣ 비어있어도 ~ { /n } 이런식으로 쓰나?
virtual void print()로 해라
ㄳㄳ 그부분은 해결했는데, 출력에서 두번째부분 p2->getPrice() 이 부분은 여전히 3000으로 출력되네.
함수 형식이 서로 다르니 다른 함수로 인식되어야 하는거 아니야?
virtual double 이런식으로 쓰니까 오류뜸 ㅠㅠ
반환형이 다른 함수를 오버로딩 할 수도 없고 오버라이딩 할 수도 없다
virtual int GetPrice()라고 짓고 discountProduct함수 리턴하는 값 int형으로 캐스팅해
virtual 함수가 아니면 포인터 형태 기준으로 함수가 작동하니 discountProduct 인스턴스여도 Product 함수가 작동하는거다
음 내가 궁금한 부분은 서로 반환형이 다른 경우 함수 이름이 같아도 다른 함수로 인식하잖아??
저 경우에서는 서로 다른 함수로 인식되는데 왜 둘 다 같은 값이 출력되는지 부분이 궁금했서
아 내가 살짝 잘못 말했네
만약 두번째의 getPrice를 double 형으로 무조건 출력하려 한다면 getPrice의 이름을 바꾸는 경우말고 다른 해결법은 없는거야??
GetPrice() 처럼 매개변수 안들어가는 반환있는 함수는 다른 형으로 오버로딩못한다는 뜻임 double calculate(double input) /int calculate(int input) 이런 식은 됨
너가 말한대로 double형 출력하고 싶으면 이름 다른 함수 새로 정의하는거 말곤 답없음
아 이해했다 p2가 Product 포인터라서 Product getPrice
가 호출되는거였넹 매개변수 안들어가있는 함수를 다른형으로 오버로딩 못한다는 사실은 첨알았당
ㄳㄳㄳㄳ 고마워 ㅠㅠ
함수를 한줄로 쓰지말자 가독성 너무 떨어진다
한 줄 짜리 함수들은 저렇게 하는게 더 읽기 편해서 그랬는데.. 생성자같은 경우 내용ㅇㅣ 비어있어도 ~ { /n } 이런식으로 쓰나?