您好,登錄后才能下訂單哦!
本篇內容主要講解“C++源代碼相關編制方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++源代碼相關編制方法有哪些”吧!
1.多態性的概念
多態性是指用一個名字定義不同的函數,這函數執行不同但又類似的操作,從而實現“一個接口,多種方法”。多態性的實現與靜態聯編、動態聯編有關。靜態聯編支持的多態性稱為編譯時的多態性,也稱靜態多態性,它是通過函數重載和運算符重載實現的。動態聯編支持的多態性稱為運行時的多態性,也稱動態多態性,它是通過繼承和虛函數實現的。
2.函數重載
函數重載的意義在于他能用同一個名字訪問一組相關的函數。在類中普通成員函數和構造函數都可以重載,特別是構造函數的重載(他提供了多種初使化方式)給用戶更大的靈活性。
在基類和派生類的函數重載有兩種情況:一種是參數有所差別的重載。另一種是參數沒有差別的重載,只是他們屬于不同的類。可以用以下兩種方法來區分這兩種函數:用對象名加以區分;使用“類名::”加以區分。
3.運算符重載稱動態多態性
他是通過繼承和虛函數實現的。運算符重載通過創建運算符函數operator@()來實現。運算符函數定義了重載的運算符將要進行的操作,這種操作通常作用在一個類上。這樣,在編譯時遇到名為operator@的運算符函數(@表示所要重載的運算符),就檢查傳遞給函數的參數的類型。
重載運算符與預定義運算符的使用方法完全相同,它不能改變原有運算符的參數個數(單目或雙目),也不能改變原有的優先級的結合性。用戶不能定義新的運算符,只能從C++源代碼已有的運算符中選擇一個恰當的運算符重載。
成員運算符函數運算符函數可以定義為它將要操作的類的成員(稱為成員運算符函數),也可以定義為非類的成員,但是非成員的運算符函數大多是類的友元函數(稱為友元運算符函數)。成員運算符函數在類中的聲明格式為:
4.賦值運算符
繼承C語言,用戶自定義的類和結構都要能進行賦值運算。而數組名不能賦值,數組名實質上是一個常量指針。對于任何類,C++源代碼提供了默認的賦值運算符。一般地,默認的賦值運算符重載是能夠勝任工作的。當類中有指針類型時,需要自定義賦值運算符函數。一般其函數體包含兩部分:與析構函數類似,取消對象已經占有的資源;
與構造函數類似,諂渲蟹峙湫碌淖試礎?br> 類的賦值運算符重載“=”只能重載為成員函數,不能重載為友元函數。
重載后的運算符函數operator=()不能被繼承。
拷貝構造函數和賦值運算符重載的區別:聲明和定義方式不同;調用方式不同。
5.C++源代碼
虛函數是重載的另一種表現形式,允許虛函數調用與函數體之間的聯系在運行時才建立。定義:虛函數就是在基類中被關鍵字virtual說明,并在派生類中重新定義的函數,在派生類中重新定義時,其函數原形包括返回類型,函數名,參數個數與參數類型的順序,都必須與基類中的原形必須相同。
簡述C++語言支持函數重載問題介紹
在C中引用C++語言中的函數和變量
高級技術學者對C++代碼進行編制
詳細說明C++編譯的編寫及其代碼問題
闡述C++語言的各種編程技巧有關說明
構造函數不能是虛函數,但析構函數可以是虛函數。虛函數與重載函數的關系:當普通的函數重載時,其函數的參數或參數類型必須有所不同,函數的返回類型也可不同;在派生類中,重新定義虛函數時要求函數名、返回類型、參數個數、參數的類型和順序與基類中的函數原形完全相同;
若僅僅返回類型不同,其余均相同,系統會給出錯誤信息。虛函數重載時若僅僅函數名相同,而參數的個數、類型或順序不同系統將它作為普遍函數重載,虛函數的特征將會丟失。多重繼承與虛函數:多重繼承可視為多個單繼承的組合。
6.純虛函數和抽象類
純虛函數:是一個在基類中說明的虛函數,他在該基類中沒有定義,但要求在它的派生類中定義自己的版本,或重新說明為純虛函數。純虛函數的一般形式:virtual type func_name(參數表)=0(type是函數的返回類型,func_name是函數名)。抽象類:一個類至少有一個純虛函數的類。抽象類提供了處理各種不同派生類的統一接口,將實現的責任交給了派生類。
到此,相信大家對“C++源代碼相關編制方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。