亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
有破綻呀,Animal的類中的move和eat函數不加virtual也能通過
void doSomething(Movable *obj)
{
obj->move();

if(typeid(*obj) == typeid(Bus))
{
Bus *bus = dynamic_cast<Bus *>(obj);
bus->carry();
}

if(typeid(*obj) == typeid(Tank))
{
Tank *tank = dynamic_cast<Tank *>(obj);
tank->fire();
}
}
通過不了是你寫錯了,老哥
如果不寫animal的默認構造函數,無法通過編譯,但是dog的默認構造函數不寫的話可以通過,是不是跟animal *p有關啊,他得用到默認構造函數啊
James老師講的太好了
VS2017好像沒有CMemoryException了,直接用了const std::exception&
內存不足!如果要是真的碰到這種事大部分人可能都會自殺吧。。。
現在內存的價格,不是一般的貴,是真的貴!
戰斗雞。。。。。
此處省去500字
純虛函數=0,0中間沒有什么東西,這或許就意味著純潔吧!
virtual void reload()
{
cout << "Gun -- reload" << endl; }
};
void hunting(CanShut *s)
{
s->aim();
s->reload();
}
int main(void)
{
Gun *g = new Gun;
hunting(g);
delete g ;
g = NULL;
return 0;
}
int main(void)
{
// 通過父類對象實例化狗類
Animal *animal = new Dog();
// 調用成員函數
animal -> eat();
animal -> move();
// 釋放內存
delete animal;
animal = NULL;
return 0;
}
給自己加油,到結尾的時候再打卡
回復:帥踢鍋{
給大家出個題啊,下面代碼的輸出結果為什么?

int m = 1, n = 2, *p = &m;

cout << ++*q << *++q << endl;
}
q沒有定義,編譯報錯,什么都不打印【手動滑稽】
不是沒有輸出Animal 就是沒執行,只是由于沒有在初始化列表里給Animal的構造函數傳遞name參數,所以執行了Animal的默認構造函數,所以沒輸出Animal。
課程須知
本課程是C++初級課程 1、熟練掌握C++語言基礎語法
老師告訴你能學到什么?
1、虛函數、虛析構函數、純虛函數 2、抽象類和接口類 3、運行時類別異常 4、異常處理

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消