보통 virtual함수같은거 볼때 예제로
포인터같은거쓰던데
예를 들면
A * a = new A;
a -> print(); 여기서 print가 virtual함수
내가 궁금한건
A a;하고
a.print(); 해도 virtual함수로 동작함?
virtual함수 예제들이 전부다 포인트로 되있어서..
보통 virtual함수같은거 볼때 예제로
포인터같은거쓰던데
예를 들면
A * a = new A;
a -> print(); 여기서 print가 virtual함수
내가 궁금한건
A a;하고
a.print(); 해도 virtual함수로 동작함?
virtual함수 예제들이 전부다 포인트로 되있어서..
만들어서 돌려보면되지... 그거바꾸는데 얼마 안걸릴텐데
ㅇㅇ 동작함.
근데 virtual 함수 쓰는 게 자식 클래스 포인터를 부모 클래스 포인터로 캐스팅해서 취급했을 때 메서드를 호출하면 자식 클래스의 메서드가 호출될 수 있도록 하기 위함이라 포인터를 쓰지. 포인터 없으면 virtual 쓰는 의미가 없음.
고맙다님들아
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.