[問題] virtual function驗證,不能執行
#include<stdio.h>
class Father
{
protected:
int my_firstname(){return 100;}
virtual int my_hand(){return 101;}
public:
int get_firstname(){return my_firstname();}
int get_hand(){return my_hand();}
};
class Kid:public Father
{
protected:
int my_firstname(){return 200;};
virtual int my_hand(){return 201;};
};
int main()
{
int val1,val2,val3,val4;
Kid kid;
Father *ptr;
val1=kid.get_firstname();
val2=kid.get_hand();
ptr=new Kid;
val3=ptr->get_firstname();
val4=ptr->get_hand();
printf("val1=%d\n",val1);
printf("val2=%d\n",val2);
printf("val3=%d\n",val3);
printf("val4=%d\n",val4);
delete ptr;
return 0;
}
DEV C++ compile結果是
line unit message
ld C:\dev\ld cannot open crt2.o: No such file or directory.
好奇怪喔!
debug不出來
不知道有沒有高手可以知道我哪裡出錯了?
還有城市中val1,val2,val3,val4四數的值為何?
太感激
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.82.147
推
05/07 01:59, , 1F
05/07 01:59, 1F
→
05/07 03:00, , 2F
05/07 03:00, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章