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

為了賬號安全,請及時綁定郵箱和手機立即綁定

已采納回答 / xqy1997
*s是string地址,改成引用&s(建議下次問的時候把log信息一起附上?)

已采納回答 / qq_慕九州0111630
每個類(含有虛函數的類)系統只會分配一張函數表,繼承后的子類也是一個新的類,系統也會生成一份函數表的

已采納回答 / weixin_慕村4306521
circle的類定義內,構造函數內coordinate *m_p=new coordinate(3,5);與數據成員中coordinate *m_p;矛盾,不妨改為如下,這樣隨著對象的解構,自動進行coordinate的析構函數class circle:public shape{public:circle(double r):m_p(3,5){m_r=r;cout<<"circle"<<endl;}virtual ~circle(){cout<<"~circle"<...

已采納回答 / 我入戲太深
因為throw拋出來的東西就是一個string類型的“除數不能為0"這個字符串。你的第一種寫法catch(string),只要是拋出來的字符串都能夠捕獲到,但是你在打印的時候你只能通過【cout<<"除數不能為0"<<endl;】打印出來, 因為你沒有一個指針來接受你字符串內容。而用catch(string &e),捕獲的時候e會指向“除數不能為0”這個字符串的地址,因此在打印的時候只需要【cout<<e<<endl】;就可以把“除數不能為0”這句話...

已采納回答 / 慕勒1355447
對象的大小是指在類實例化出的對象當中,他的數據成員所占據的內存大小,而不包括成員函數,所以不占用

已采納回答 / 慕的地9539986
就是叫你在shape類定義一個虛析構函數,不然rect和circle的析構函數不會執行

已采納回答 / 小程序魔王
主要是可以優化代碼,比如函數的參數類型可以寫成父類Person,這樣你傳一個Farmer或Worker,函數都可以運行,但是如果你要是把函數的參數類型寫成Farmer,那Worker就是類型不匹配,你還要再寫一個參數類型為Worker的函數,也就是說你得寫兩個具有相同功能的函數,但是如果你把參數類型寫成父類,那只需要寫一個函數就可以了

已采納回答 / no4990
就算改成private都可以,這個老師用的指針p不是Circle類的指針,而是int指針,所以不受訪問限定符的限定。你可以用下面的代碼來看,p1是Circle類的指針,p2是int指針。<...code...>

已采納回答 / 慕尼黑8498988
子類是抽象類,只有子類對繼承下來的所有純虛函數都做了實現,子類才可以實例化對象

已采納回答 / 慕圣1012934
不加是新在函數內新創建了一個臨時變量,接收了throw傳過來的值(1.1),如果加了&,就會把1.1的引用傳過來,之后a就相當于1.1的別名,就不用重新創建臨時變量,因為a就是throw那里的1.1,可以節省一些系統資源。

已采納回答 / DeceiverY
一個類同時被兩個或以上的類繼承時,在實例化子類的同時,會造成父類的多次定義即父類被重復定義;而宏定義就是為了解決類的重復定義,當實例化子類時,對父類的定義會通過宏定義做出判斷,如果沒有定義就可以直接定義,如果已經定義,就會跳過。

已采納回答 / DeceiverY
父類Car ,子類Bus,,,通過Car *p = new Bus;實例化對象后,其中的p為Car類型的指針,而*p則為Bus類型的對象,用p->所指向的就是子類的數據成員或者成員函數,而用p->Car::才為父類的

已采納回答 / 精慕門6929950
調用對應函數時在函數前加上類名,例如p->Animal::eat();

最贊回答 / 慕函數8534056
知道了,要加上頭文件 #include<typeinfo>
首頁上一頁1234567下一頁尾頁
課程須知
本課程是C++初級課程 1、熟練掌握C++語言基礎語法
老師告訴你能學到什么?
1、虛函數、虛析構函數、純虛函數 2、抽象類和接口類 3、運行時類別異常 4、異常處理

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消