freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

visualc程序設計教程第二章c語言基礎和面向?qū)?閱讀頁

2025-01-28 03:22本頁面
  

【正文】 象引用。 ? class 類名 ? { public : ? 類名(形參); //構造函數(shù) ? 類名(類名 amp。對象名) //拷貝構造函數(shù)的實現(xiàn) ? { 函數(shù)體 } 構造函數(shù)和析構函數(shù) ? 2.析構函數(shù) ? 提供構造函數(shù)的一個目的是為了自動獲取資源,但是還缺少一種對稱的操作,它為生命期即將結束的類對象返還相關的資源或者自動釋放資源。 友元 ? 類具有封裝和信息隱藏的特性。非成員函數(shù)可以訪問類中的公有成員,但是如果將數(shù)據(jù)成員都定義為公有的,這又破壞了隱藏的特性。 ? 為了解決上述問題,提出一種使用友元的方案。友元不是成員函數(shù),但是它可以訪問類中的私有成員。 ? 友元可以是一個函數(shù),該函數(shù)被稱為友元函數(shù);友元也可以是一個類,該類被稱為友元類。友元函數(shù)從語法上看,它與普通函數(shù)一樣,即在定義上和調(diào)用上與普通函數(shù)一樣。當一個類作為另一個類的友元時,這就意味著這個類的所有成員函數(shù)都是另一個類的友元函數(shù)。面向?qū)ο蟪绦蛟O計技術的提出,主要是為了解決傳統(tǒng)程序設計方法 ——結構化程序設計所不能解決的代碼重用問題。面向?qū)ο蟪绦蛟O計技術的提出,主要是為了解決傳統(tǒng)程序設計方法 ——結構化程序設計所不能解決的代碼重用問題。由于用戶的需求和軟、硬件技術的不斷發(fā)展變化,按照功能設計的系統(tǒng)模塊必然是易變的和不穩(wěn)定的,這樣開發(fā)出來的模塊可重用性不高。它把編程問題視為一個數(shù)據(jù)集合,而數(shù)據(jù)相對于功能而言,具有更強的穩(wěn)定性。 面向?qū)ο蟪绦蛟O計 ? 1. 抽象 ? 抽象就是對一類對象進行概括,抽出它們共同的性質(zhì)并加以描述的過程。抽象包括兩個方面:一是過程抽象,二是數(shù)據(jù)抽象。數(shù)據(jù)抽象定義了數(shù)據(jù)類型和施加于該類型對象上的操作,并限定了對象的值只能通過使用這些操作修改和查看。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。派生類可以從它的基類那里繼承方法和實例變量,并且派生類可以修改或增加新的方法使之更適合特殊的需要。繼承性很好的解決了軟件的可重用性問題。但是有的應用程序用于文字處理,有的應用程序用于繪圖,這是由于派生出了不同的子類,各個子類添加了不同的特性。面向?qū)ο笫加谶@個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。通常,應禁止直接訪問一個對象,而應通過操作接口訪問對象,這稱為信息隱藏。例如,同樣是加法,把兩個時間加在一起和把兩個整數(shù)加在一起肯定完全不同。 封裝 ? 封裝是面向?qū)ο蟮奶卣髦?,是對象和類的主要特征? ? 封裝的另一層含義是指對象內(nèi)部的私有屬性和方法的對外不可見性。 繼承 ? 1.繼承的種類 ? 2.類成員的可訪問特性 ? 3.公有繼承和私有繼承 ? 4.繼承中的同名成員訪問 ? 5.繼承中的構造函數(shù) 繼承 ? 1.繼承的種類 ? 在 C++語言中,實現(xiàn)繼承的種類包括: ? ( 1)單繼承 ? ( 2)多繼承 ? ( 3)重復繼承 ? ( 4)共享繼承 ? 單繼承是指具有單一直接父類的繼承關系。 ? 單繼承和多繼承示意圖如圖 21所示。重復繼承是指一個子類根據(jù)需要多次繼承一個父類,且在子類中保留多個父類副本的繼承方式,而共享繼承則是通過直接和間接的方式多次繼承一個父類,但最終只在子類中保留一個父類副本的繼承機制。 ? 圖 21 單繼承和多繼承示意圖 繼承 ? 2.類成員的可訪問特性 ? 在繼承中,可以通過指定類的屬性和方法的可訪問特性。 ? 具有私有訪問特性的屬性和方法不能被繼承,也不能被外界所訪問。 ? 具有受保護訪問特性的屬性和方法只可以被繼承,而不能被外界所訪問。 ? 公有繼承時,父類的受保護成員被繼承為子類的受保護成員,父類的公有成員被繼承為子類的公有成員,父類的私有成員不能被繼承。同樣,父類的私有成員不能被繼承。同時,子類也可以定義父類的同名成員。 ? 單繼承中的同名成員和多繼承中的同名成員具有類似的地方,因此,可以以單繼承為例說明其使用方法,如表 23所示: 繼承 ? 則在 B類方法中直接使用的屬性成員 ya表示在子類中重新定義的成員(在子類定義中以粗體表示),而只有使用如: ? A::ya ? 形式的成員才表示需要使用父類中的 ya成員。如果定義 B類對象為 b,則訪問子類中的 za成員的方法為: ? ? 而訪問父類中的成員 za,則需要采用: ? ::za ? 的形式。 繼承 ? 5.繼承中的構造函數(shù) ? 1)單繼承中的構造函數(shù) ? 構造函數(shù)是類中的一個特殊的函數(shù)。如下例中的 CIRCLE類: ? class CIRCLE{ ? private: ? int x,y。 //半徑 ? CIRCLE(int a, int b, double x){ //構造函數(shù) ? x=a。 r=x。 ? void outcenter()。 ? } ? 當需要創(chuàng)建一個類的實例時,自動調(diào)用構造函數(shù),如: ? CIRCLE c1,c2(1,1,)。 ? 當一個類需要被繼承時,子類的構造函數(shù)就需要同時傳遞參數(shù)到父類的構造函數(shù),以期在生成子類對象的同時調(diào)用父類的構造函數(shù) . ? 寫明定義方式,如這里就可以說: ? 如 A是 B的派生類 ? A::A(形參聲明 ):B(參數(shù)列表 ) ? { ? 派生類 A構造函數(shù)體 ? } ? 2)多繼承中的構造函數(shù) ? 多繼承是一種復雜的繼承關系,是由多個父類派生子類的過程。多態(tài)性廣義地分為靜態(tài)多態(tài)性和動態(tài)多態(tài)性。在 C++中,靜態(tài)多態(tài)性表現(xiàn)為函數(shù)重載( function overload)和運算符重載( operator overload)。 ? ? 所謂函數(shù)重載,是指不同的功能代碼的函數(shù)可以共用一個函數(shù)名。即在 C++的任何一個類中,可以具有相同的函數(shù),但這些同名函數(shù)的參數(shù)一定不能相同。當函數(shù)同名時, C++編譯器通過函數(shù)簽名來識別和調(diào)用不同的函數(shù)。它同函數(shù)重載在實質(zhì)上是一樣的,因為一個運算符完成的功能實際上是由一個函數(shù)實現(xiàn)的,即運算符重載函數(shù)。 ? 運算符重載的一般形式如下: ? 返回值類型 operator運算符 (形參列表) ? { ? 函數(shù)體 ? } ? 其中, “ 返回值類型 ” 指定的是重載運算符函數(shù)的返回值的類型; “ operator”是要重載的運算符的名稱; “ 形參列表 ” 給出了重載運算符所需要的參數(shù)和數(shù)據(jù)類型。它與前面講過的封裝性和繼承性構成了面向?qū)ο蟪绦蛟O計的三大特征。以上所述的函數(shù)重載和運算符重載就是 C++中的多態(tài)性技術。 ? ? 虛函數(shù)是在基類中被冠以關鍵字 virtual的成員函數(shù),它提供了一種接口界面。 本章結束
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1