C不是面向?qū)ο蟮恼Z言,所以不支持繼承
創(chuàng)新互聯(lián)公司是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術為一體的創(chuàng)意網(wǎng)站建設服務商,主營產(chǎn)品:成都響應式網(wǎng)站建設公司、品牌網(wǎng)站建設、成都全網(wǎng)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質(zhì)呈現(xiàn)。網(wǎng)站設計、網(wǎng)站制作、移動互聯(lián)產(chǎn)品、網(wǎng)絡運營、VI設計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。
C#不支持多類繼承,僅支持單類繼承和實現(xiàn)多接口
C++支持多繼承
不能,因為子類繼承父類的時候,先運行父類構造函數(shù);
具體的說就是運行父類時就會先“調(diào)用”父類的構造函數(shù),注意“調(diào)用”和繼承不是一個含義,實質(zhì)上是“自動運行”。
繼承的含義其實是“擴展”,子類完全沒必要擴展父類的構造函數(shù),因為每次調(diào)子類的時候都會“自動運行”它父類的構造函數(shù),如果真的需要子類構造函數(shù)特殊的形式,子類直接修改或重載自己的構造函數(shù)就好了。
一、你所發(fā)來的圖中,struct vote *create()這一句確實是一個函數(shù)!
二、它不是結構體,結構體定義語句沒有括號,如:
struct vote
{
int a;
char name[20];
float score[3];
};
三、struct vote *create() 這條語句解釋,
剛說它是一個函數(shù),其中:
函數(shù)名:create
函數(shù)的參數(shù):無
函數(shù)的返回值類型:是struct vote * 型,即返回值是指向結構體vote類型的指針。
四、最后回到你的疑問:
1、C語言結構體類似函數(shù)嗎? 不是。
2、如圖,struct vote *create(); 這語句算是調(diào)用函數(shù)嗎?不是調(diào)用函數(shù),而是定義函數(shù)。
3、如果算的話括號內(nèi)不用形參之類的嗎?既然是定義函數(shù),括號內(nèi)可以用形參,當然也可以選擇不用形參。你發(fā)的例子就是不用參數(shù)的函數(shù)。
還有不明白之處,請留言。
C語言中沒有類的概念,C++中才有類,有類成員變量,成員函數(shù),對象,以及重載,繼承,派生的概念;
函數(shù)的重載是指在同一個類中具有相同的函數(shù)名,但是可能函數(shù)的返回值類型,或者形參個數(shù),或者形參類型不同;
派生是指基類跟子類的關系:例如class
A:public
B;類A共有繼承B;
呵呵,這些東西需要你慢慢看,注意重載
跟覆蓋的區(qū)別以及與虛函數(shù)之間的關系,等等
至于類模板,就是你定義一個類,而不指定數(shù)據(jù)類型,關鍵字template,等到后面的開發(fā)中你可以實際根據(jù)需要實例化為你想要的
類型,例如int
,char,struct
等等
析構函數(shù)當然是默認完全繼承。
而構造函數(shù)可能有多種,所以在不顯示繼承調(diào)用父類構造函數(shù)的情況下,子類只能繼承父類的默認構造函數(shù),就是沒有任何參數(shù)的構造函數(shù)。
當前標題:c語言可以繼承函數(shù)嗎 c語言可以繼承函數(shù)嗎知乎
當前地址:http://chinadenli.net/article2/hgodoc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、自適應網(wǎng)站、ChatGPT、響應式網(wǎng)站、建站公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)