溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++源代碼相關編制方法有哪些

發(fā)布時間:2021-11-29 16:22:56 來源:億速云 閱讀:134 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“C++源代碼相關編制方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++源代碼相關編制方法有哪些”吧!

1.多態(tài)性的概念
多態(tài)性是指用一個名字定義不同的函數(shù),這函數(shù)執(zhí)行不同但又類似的操作,從而實現(xiàn)“一個接口,多種方法”。多態(tài)性的實現(xiàn)與靜態(tài)聯(lián)編、動態(tài)聯(liá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ù)重載的意義在于他能用同一個名字訪問一組相關的函數(shù)。在類中普通成員函數(shù)和構造函數(shù)都可以重載,特別是構造函數(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ù)的類型。

重載運算符與預定義運算符的使用方法完全相同,它不能改變原有運算符的參數(shù)個數(shù)(單目或雙目),也不能改變原有的優(yōu)先級的結合性。用戶不能定義新的運算符,只能從C++源代碼已有的運算符中選擇一個恰當?shù)倪\算符重載。

成員運算符函數(shù)運算符函數(shù)可以定義為它將要操作的類的成員(稱為成員運算符函數(shù)),也可以定義為非類的成員,但是非成員的運算符函數(shù)大多是類的友元函數(shù)(稱為友元運算符函數(shù))。成員運算符函數(shù)在類中的聲明格式為:

4.賦值運算符
繼承C語言,用戶自定義的類和結構都要能進行賦值運算。而數(shù)組名不能賦值,數(shù)組名實質(zhì)上是一個常量指針。對于任何類,C++源代碼提供了默認的賦值運算符。一般地,默認的賦值運算符重載是能夠勝任工作的。當類中有指針類型時,需要自定義賦值運算符函數(shù)。一般其函數(shù)體包含兩部分:與析構函數(shù)類似,取消對象已經(jīng)占有的資源;

與構造函數(shù)類似,諂渲蟹峙湫碌淖試礎?br> 類的賦值運算符重載“=”只能重載為成員函數(shù),不能重載為友元函數(shù)。
重載后的運算符函數(shù)operator=()不能被繼承。
拷貝構造函數(shù)和賦值運算符重載的區(qū)別:聲明和定義方式不同;調(diào)用方式不同。

5.C++源代碼
虛函數(shù)是重載的另一種表現(xiàn)形式,允許虛函數(shù)調(diào)用與函數(shù)體之間的聯(lián)系在運行時才建立。定義:虛函數(shù)就是在基類中被關鍵字virtual說明,并在派生類中重新定義的函數(shù),在派生類中重新定義時,其函數(shù)原形包括返回類型,函數(shù)名,參數(shù)個數(shù)與參數(shù)類型的順序,都必須與基類中的原形必須相同。

  • 簡述C++語言支持函數(shù)重載問題介紹

  • 在C中引用C++語言中的函數(shù)和變量

  • 高級技術學者對C++代碼進行編制

  • 詳細說明C++編譯的編寫及其代碼問題

  • 闡述C++語言的各種編程技巧有關說明

構造函數(shù)不能是虛函數(shù),但析構函數(shù)可以是虛函數(shù)。虛函數(shù)與重載函數(shù)的關系:當普通的函數(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)的責任交給了派生類。

到此,相信大家對“C++源代碼相關編制方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

c++
AI