本篇內(nèi)容主要講解“C++源代碼相關(guān)編制方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“C++源代碼相關(guān)編制方法有哪些”吧!
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)由有經(jīng)驗的網(wǎng)站設(shè)計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負責(zé)網(wǎng)站視覺設(shè)計、用戶體驗優(yōu)化、交互設(shè)計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都做網(wǎng)站、網(wǎng)站建設(shè)易于使用并且具有良好的響應(yīng)性。
1.多態(tài)性的概念
多態(tài)性是指用一個名字定義不同的函數(shù),這函數(shù)執(zhí)行不同但又類似的操作,從而實現(xiàn)“一個接口,多種方法”。多態(tài)性的實現(xiàn)與靜態(tài)聯(lián)編、動態(tài)聯(lián)編有關(guān)。靜態(tài)聯(lián)編支持的多態(tài)性稱為編譯時的多態(tài)性,也稱靜態(tài)多態(tài)性,它是通過函數(shù)重載和運算符重載實現(xiàn)的。動態(tài)聯(lián)編支持的多態(tài)性稱為運行時的多態(tài)性,也稱動態(tài)多態(tài)性,它是通過繼承和虛函數(shù)實現(xiàn)的。
2.函數(shù)重載
函數(shù)重載的意義在于他能用同一個名字訪問一組相關(guān)的函數(shù)。在類中普通成員函數(shù)和構(gòu)造函數(shù)都可以重載,特別是構(gòu)造函數(shù)的重載(他提供了多種初使化方式)給用戶更大的靈活性。
在基類和派生類的函數(shù)重載有兩種情況:一種是參數(shù)有所差別的重載。另一種是參數(shù)沒有差別的重載,只是他們屬于不同的類。可以用以下兩種方法來區(qū)分這兩種函數(shù):用對象名加以區(qū)分;使用“類名::”加以區(qū)分。
3.運算符重載稱動態(tài)多態(tài)性
他是通過繼承和虛函數(shù)實現(xiàn)的。運算符重載通過創(chuàng)建運算符函數(shù)operator@()來實現(xiàn)。運算符函數(shù)定義了重載的運算符將要進行的操作,這種操作通常作用在一個類上。這樣,在編譯時遇到名為operator@的運算符函數(shù)(@表示所要重載的運算符),就檢查傳遞給函數(shù)的參數(shù)的類型。
重載運算符與預(yù)定義運算符的使用方法完全相同,它不能改變原有運算符的參數(shù)個數(shù)(單目或雙目),也不能改變原有的優(yōu)先級的結(jié)合性。用戶不能定義新的運算符,只能從C++源代碼已有的運算符中選擇一個恰當(dāng)?shù)倪\算符重載。
成員運算符函數(shù)運算符函數(shù)可以定義為它將要操作的類的成員(稱為成員運算符函數(shù)),也可以定義為非類的成員,但是非成員的運算符函數(shù)大多是類的友元函數(shù)(稱為友元運算符函數(shù))。成員運算符函數(shù)在類中的聲明格式為:
4.賦值運算符
繼承C語言,用戶自定義的類和結(jié)構(gòu)都要能進行賦值運算。而數(shù)組名不能賦值,數(shù)組名實質(zhì)上是一個常量指針。對于任何類,C++源代碼提供了默認(rèn)的賦值運算符。一般地,默認(rèn)的賦值運算符重載是能夠勝任工作的。當(dāng)類中有指針類型時,需要自定義賦值運算符函數(shù)。一般其函數(shù)體包含兩部分:與析構(gòu)函數(shù)類似,取消對象已經(jīng)占有的資源;
與構(gòu)造函數(shù)類似,諂渲蟹峙湫碌淖試礎(chǔ)?br> 類的賦值運算符重載“=”只能重載為成員函數(shù),不能重載為友元函數(shù)。
重載后的運算符函數(shù)operator=()不能被繼承。
拷貝構(gòu)造函數(shù)和賦值運算符重載的區(qū)別:聲明和定義方式不同;調(diào)用方式不同。
5.C++源代碼
虛函數(shù)是重載的另一種表現(xiàn)形式,允許虛函數(shù)調(diào)用與函數(shù)體之間的聯(lián)系在運行時才建立。定義:虛函數(shù)就是在基類中被關(guān)鍵字virtual說明,并在派生類中重新定義的函數(shù),在派生類中重新定義時,其函數(shù)原形包括返回類型,函數(shù)名,參數(shù)個數(shù)與參數(shù)類型的順序,都必須與基類中的原形必須相同。
簡述C++語言支持函數(shù)重載問題介紹
在C中引用C++語言中的函數(shù)和變量
高級技術(shù)學(xué)者對C++代碼進行編制
詳細說明C++編譯的編寫及其代碼問題
闡述C++語言的各種編程技巧有關(guān)說明
構(gòu)造函數(shù)不能是虛函數(shù),但析構(gòu)函數(shù)可以是虛函數(shù)。虛函數(shù)與重載函數(shù)的關(guān)系:當(dāng)普通的函數(shù)重載時,其函數(shù)的參數(shù)或參數(shù)類型必須有所不同,函數(shù)的返回類型也可不同;在派生類中,重新定義虛函數(shù)時要求函數(shù)名、返回類型、參數(shù)個數(shù)、參數(shù)的類型和順序與基類中的函數(shù)原形完全相同;
若僅僅返回類型不同,其余均相同,系統(tǒng)會給出錯誤信息。虛函數(shù)重載時若僅僅函數(shù)名相同,而參數(shù)的個數(shù)、類型或順序不同系統(tǒng)將它作為普遍函數(shù)重載,虛函數(shù)的特征將會丟失。多重繼承與虛函數(shù):多重繼承可視為多個單繼承的組合。
6.純虛函數(shù)和抽象類
純虛函數(shù):是一個在基類中說明的虛函數(shù),他在該基類中沒有定義,但要求在它的派生類中定義自己的版本,或重新說明為純虛函數(shù)。純虛函數(shù)的一般形式:virtual type func_name(參數(shù)表)=0(type是函數(shù)的返回類型,func_name是函數(shù)名)。抽象類:一個類至少有一個純虛函數(shù)的類。抽象類提供了處理各種不同派生類的統(tǒng)一接口,將實現(xiàn)的責(zé)任交給了派生類。
到此,相信大家對“C++源代碼相關(guān)編制方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!