C 虛基類問題,C 中提供虛基類是因為

2025-07-18 13:00:05 字數 1371 閱讀 6452

1樓:網友

你所說的車這個「虛基類」並不是乙個實現類,也不是類的例項。

其實你可以這麼理解:

汽車、自行車、電單車這幾個類之間並沒有什麼聯絡,是完全不同的類。只不過有相同的屬性而鋒春逗已,例如:汽車有汽車的重量和自行車有自行車的重量,而車是凌駕於「各森差種車們」之上的概念,它其實是與汽車、自行車、電單車類一樣,都是類。

他們唯一的關係是:定義汽車的重量時用到了車的重量這個概念,都繼承於車,證明他們都有車的共同屬性,銀賣但各自的重量可以不同,汽車是1t而自行車是2kg。

總體來說就是,這些汽車、自行車、**車。他們都有這些屬性,但屬性值可以不同!

上公升點高度:子類繼承於父類後,會繼承父類的屬性,而不會繼承父類的屬性值,同樣,各子類間的屬性值沒有任何關係。

不知道講明白沒~~

2樓:網友

vehicle既然已經為虛基類了,那世做麼它的屬性就是虛函孝猛數,在呼叫就是派生類自己的了,也就搜慎衡是多型性。。。

3樓:匿名使用者

虛基類的意思表明基差卜類的方法是虛擬函式念隱,表明子類應該繼承方法後,實現自己的方法。屬性只不過是繼承而來,就像我們都是人,人有名字,你有名字,我也有名字,咱們都有「名字」,我的「名字虛高穗」是我屬性,你的「名字」是你的屬性。都是來自人的「名字」,我們兩個的名字有什麼關係?

乙個基類中說明有純虛擬函式,該基類的派生類一定不再是抽象類

4樓:友媚鄒涵山

c如果在派生配亂類中沒有對純虛擬函式進行了定義,那這個派生類宴鬥也是抽象類。

不能用培祥檔來定義物件。

c++中提供虛基類是因為:

5樓:匿名使用者

選擇a。是因為c++支援多重繼承,可能導致名字衝突。

因為基類a可以被多個派生類b1、b2、b3……繼承,如果這些派生類再被新的派生類c共同繼承,那麼在c裡就可能存在多個基類a。所以才有虛基類,使得派生類c中只能存在乙個基類a。

6樓:網友

感覺都不是,現在出題的人都很無聊的,這種東西有什麼意義啊?!c看起來最接近。

含有純虛擬函式的類是不可以用來建立物件的,因為它是虛基類

7樓:郝慈羅莞爾

這得分清楚含有純虛擬函式的類與虛基類是兩個不同的概念。

1)含有純虛擬函式的類是不能建立物件。

2)虛基類是指在繼承的時候,通過虛繼承的方式,繼承的基類。

含有純虛擬函式的類在繼承的時候,可以不加virtual關鍵字,因此可以不是虛基類。

只要在繼承的時候,加了virtual關鍵字,都是虛基類,這與基類中是否有純虛擬函式無關。

請教關於C 中虛基類的問題,請教關於C 中虛基類的乙個問題

這是個菱形繼承,菱形繼承即是子類有兩個父類,這兩個父類都繼承自同乙個類。這時候,如果不使用虛基類,定義子類的時候,會生成兩個 祖父 基類的樣本,在呼叫 祖父 基類的成員函式的時候,就會出現 歧義 錯誤,無法編譯通過。解決的辦法就是使用虛基類,這樣就只保留乙個 祖父 基類的樣本,呼叫也不會出現 歧義 ...

c 中抽象類到底有什麼用處,C 中 抽象類和虛基類用途上有什麼區別

提供了做蛋糕的模子和一套流程,至於做出來的蛋糕具體是什麼口味還得由你自己決定,但至少能保證你做出來的是蛋糕而不是麵包或者別的什麼,是共性與個性的統一!抽象類就像是乙個物種類一樣!比如。抽象類就是鳥這個物種。這個鳥是沒有這個動物的。從這個鳥類裡面繼承出來了雞孔雀等。然後虛函式就比方是特徵。比如雞的特徵...

關於c中虛函式過載的問題,C 中純虛函式能過載嗎?

在派生類重新定義或者覆寫基類的過載函式,會導致繼承的名稱被遮掩。在派生類的 public 區域增加 using base func 語句可以解決。你在derive類中的func也加上了virtual導致基類函式被覆蓋,所以肯定錯了 大家都說錯了,沒說到重點。這不是什麼虛函式限制,主要原因在於函式呼叫...