最新回答 / qq_慕仙7552545
不同的頭文件會(huì)包含相同的函數(shù),只要其實(shí)現(xiàn)了SYSTEM函數(shù)就可以在主程序中調(diào)用了,然后每個(gè)頭文件可能會(huì)有自己獨(dú)特的一些函數(shù),比如Cmath文件中的數(shù)學(xué)函數(shù)。你這個(gè)再想搞明白點(diǎn)的話具體可以查編程手冊(cè)中,各個(gè)頭文件到底包含了什么樣的函數(shù)
2020-02-25
已采納回答 / 我入戲太深
因?yàn)閠hrow拋出來的東西就是一個(gè)string類型的“除數(shù)不能為0"這個(gè)字符串。你的第一種寫法catch(string),只要是拋出來的字符串都能夠捕獲到,但是你在打印的時(shí)候你只能通過【cout<<"除數(shù)不能為0"<<endl;】打印出來, 因?yàn)槟銢]有一個(gè)指針來接受你字符串內(nèi)容。而用catch(string &e),捕獲的時(shí)候e會(huì)指向“除數(shù)不能為0”這個(gè)字符串的地址,因此在打印的時(shí)候只需要【cout<<e<<endl】;就可以把“除數(shù)不能為0”這句話...
2020-02-25
已采納回答 / 慕勒1355447
對(duì)象的大小是指在類實(shí)例化出的對(duì)象當(dāng)中,他的數(shù)據(jù)成員所占據(jù)的內(nèi)存大小,而不包括成員函數(shù),所以不占用
2020-01-17
虛函數(shù)里面有一個(gè)虛函數(shù)表偏移量的概念這里沒講好,編譯的時(shí)候其實(shí)是通過父類虛函數(shù)表的偏移量大概定位函數(shù)位置,然后運(yùn)行的時(shí)候通過實(shí)例類型的虛函數(shù)表的偏移量來最好定位函數(shù)位置的···
2020-01-08
對(duì)于學(xué)過一段時(shí)間的類的同學(xué)表示,老師講的邏輯很清晰,很透徹,暫時(shí)聽不懂的同學(xué)千萬不要放棄,畢竟剛開始學(xué)類的時(shí)候那種懵逼的狀態(tài)我是深深的理解的。
2019-11-15
最贊回答 / 慕UI0316525
Person p1 = s1; 這行不會(huì)調(diào)用Person的構(gòu)造函數(shù),只會(huì)調(diào)用Person的拷貝構(gòu)造函數(shù)。
2019-10-19
最新回答 / 慕粉2248089209
這里面的虛函數(shù)都是采用的虛函數(shù)列表來進(jìn)行的,如果是純虛函數(shù)的話,該表指向一個(gè)不存在的函數(shù),所以實(shí)例化被禁止。簡(jiǎn)單來說,就是 如果基類中含有純虛函數(shù),都不能實(shí)例化,在繼承了該基類中的派生類中,如果不對(duì)該函數(shù)進(jìn)行改寫,也不能實(shí)例化。
2019-10-05
最贊回答 / chen_l
舉個(gè)例子:假設(shè)不使用多態(tài),一個(gè)代碼框架寫好了,功能是:一個(gè)計(jì)算圖形Shape的面積.假設(shè)我們最開始只有矩形,那么我們?cè)谛枰?jì)算圓形的面積的時(shí)候需要修改框架內(nèi)的代碼.如果我們使用了多態(tài),那么只需要讓圓形繼承Shape, 只需要新增圓形計(jì)算面積的代碼,不需要修改核心代碼.這樣邏輯更清晰,更安全.在成千上萬甚至幾十萬代碼的項(xiàng)目中,這個(gè)就非常有用了.
2019-10-05
最新回答 / 青鯉
符號(hào)(變量)記錄了地址,類型決定了它會(huì)被怎么解析,在C++里定義一個(gè)變量也要聲明類型的。雖然這是一個(gè)子類對(duì)象的內(nèi)存塊,但是它用父類指針去解釋這堆內(nèi)存是什么(這是合法的),調(diào)用這個(gè)函數(shù)的時(shí)候是用父類定義的函數(shù).virtual關(guān)鍵字則聲明調(diào)用這個(gè)函數(shù)的時(shí)候要繞一下(具體實(shí)現(xiàn)是用虛函數(shù)表實(shí)現(xiàn))。不用virtual聲明:調(diào)用就直接找到函數(shù)的地址(編譯的時(shí)候就確定了)用virtual聲明:調(diào)用的時(shí)候去找虛函數(shù)表,通過虛函數(shù)表找函數(shù)的地址。c++語法復(fù)雜就是因?yàn)榻o人提供了多種選擇??磻?yīng)用場(chǎng)景.
2019-10-05