下面輸出啥???為啥???

時間 2022-12-11 17:25:48

1樓:江小右

這個問題,我到有些研究。

這樣的這裡首先new b1,在new b1的時候由於b1是繼承a1,所以會先呼叫a1的建構函式,a的建構函式a1(),顯然就是printf("i am a")。然後在時呼叫b1的建構函式,b1的建構函式沒有,這裡系統會自動給乙個,但是系統的建構函式是什麼事都不做的。

b->test();這個毫無疑問是輸入i am b;

再和你說說另外一種。

a1 *a=new b1;

a1->test();會是什麼效果呢?

你可以到電腦上試一下,這裡的輸出和原來的輸入時一樣的。

第一printf("i am a")這個和上面同理,但是a1->test();輸出i am b是怎麼回事呢?這裡就涉及到虛函式了,這個就是虛函式繼承的概念。因為a virtual void dosth()在new b1的時候被重寫了,重寫後的函式就是virtual void dosth()。

這個概念就是動態編聯了。樓主有必要去研究下繼承和派生以及虛函式,這裡的誰很深。

2樓:匿名使用者

i am a

i am b

new b1;時呼叫a的建構函式-建構函式裡呼叫了a的 dosth方法:i am a

b->test();呼叫a的test方法-在呼叫dosth方法,但是dosth已經被過載了,所以:i am b

下面既是輸入裝置又是輸出裝置的是

a磁碟驅 磁碟驅動器既能將儲存在磁碟上的資訊讀進記憶體中,又能將記憶體中的資訊寫到磁碟上。因此,就認為它既是輸入裝置,又是輸出裝置。鍵盤是最常用也是最主要的輸入裝置,通過鍵盤可以將英文本母 數字 標點符號等輸入到計算機中,從而向計算機發出命令 輸入資料等。顯示器 display 通常也被稱為監視器。...

求解釋c語言下面的printf語句輸出為何是這個結果

將 define format s c is cool n 代入程式得到 printf format,format 變為 printf s c is cool n s c is cool n 其中,後面的 s c is cool n 整體作為乙個字串被帶入最左邊的 s,所以輸出 s c is coo...

linux虛擬機器輸入下面的為啥顯示許可權不允許

vi命令和後面的檔案路徑之間沒有加空格,導致連到一起,被shell當成乙個長命令,而系統沒有這個長命令,所以會直接儲存,提示沒有這個檔案或目錄。根據版本不同,已經換了個方式,可以網上搜資訊。和虛擬不虛擬無關。和以前那樣的作業,需要安裝,沒有看到你的報錯,猜測你可能是用的普通使用者,但是沒有許可權操作...

魔獸世界80級FS輸出天賦下面三種天賦,冰天賦輸出有其它兩種高嗎

80級法師,冰天賦是輸出中最廢柴的,冰天賦只能打pvp,我在美服玩,到了80級,法師pve天賦最普遍的就是奧法,冰法輸出根本就平不過奧法,火法和冰法性質相同,在冰封王冠 不知道是不是這麼翻譯icc 團隊中,我用冰法試過了,輸出只有奧法的1 2。裝備差不多,我操作絕對不爛的那種 第乙個是折磨冰 保守型...

買聯想電腦,下面是要求有啥好的建議謝謝

聯想y480系列就行了,我也是搞程式設計開發的!我用的是dell的,4000左右或者以上的電腦用著就可以了!給你推薦聯想的y480吧!一般是cpu i5就行,這個高階配置是4g記憶體gt630的顯示卡2g,硬碟是1t的價位在5500左右。這個配置就挺符合你的,但是建議你考慮自己的經濟條件。他的主頻在...