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

正文內(nèi)容

c語言教程:c語言第六章-資料下載頁

2024-10-04 16:36本頁面
  

【正文】 data int length = strlen()。 m_data = new char[length+1]。 strcpy(m_data, )。 } ? 4)同一類的多個對象可以相互賦值。 ? 例 ? include ? class ba ? { ? int x。 ? public: ? void fz(int z){x=z。}。 ? void ptr(void ){coutx。}。 ? }。 ? void main(){ ? ba aa,bb,cc。 ? (1)。 ? (2)。 ? cc=aa。 ? aa=bb。 ? bb=cc。 ? ()。 ? ()。 ? } ? 通過上述程序的運行結(jié)果為 21。即對象 aa和對象 bb的值發(fā)生了交換。 ? 繼承關(guān)系與其他 ? 繼承是面向?qū)ο蠹夹g(shù)的一個重要內(nèi)容。有了繼承,使軟件的重用成為可能。過去軟件人員在開發(fā)軟件時,能從自己的軟件中直接選用完全符合要求的對象不多,一般要進行很多修改后才能使用。實際上絕大多數(shù)代碼都是重新寫的。 ? 自從出現(xiàn)了面向?qū)ο蟮木幊讨?,這個局面被大大地改觀了。其中類的出現(xiàn),是走向面向?qū)ο缶幊痰牡谝徊健D壳?,?fù)用技術(shù)已成為軟件業(yè)的一個重要項目,并已逐漸走向成熟。 ? C++中最為重要的概念是類,其他的許多概念都與類有關(guān)。在類的特點中,繼承是一個最為重要的概念。 C++中類的繼承有三種權(quán)限,即公共派生類( public)、私有派生類( private)和保護派生類( protected)。這三種關(guān)系的繼承都有各自的特點。 ? ( 1) Public公共派生類 ? 格式: ? class 派生類名 :public 基類名 ? 在這種關(guān)系中,基類中的私有成員在派生類中是不可訪問的,只能通過基類中的公有函數(shù)來訪問?;愔械乃谐蓡T在派生類中的權(quán)限不變,原來是公有的在派生類中也是公有的;原來是保護的,在派生類中也是保護的。 ? ( 2) Private私有派生類 ? 私有派生類從基類中繼承了非私有的所有數(shù)據(jù)成員即公共成員和保護成員。但在派生類中,被繼承下來的基類中的公共成員和保護成員都變成了私有成員。而基類中的私有成員變成了派生類中不可訪問的成員。其定義格式如下: ? class 派生類名 :private 基類名 ? ( 3) Protected保護派生類 ? 對于保護派生類,使得基類中的所有公共成員和保護成員在派生類中都變成了保護成員。僅允許派生類的成員函數(shù)訪問,而不能在派生類的對象中使用。其格式為: ? class 派生類名 :protected 基類名 多態(tài)性:虛函數(shù) ? 多態(tài)性指在一般類中定義的操作在被類繼承后可以有不同的表現(xiàn)形式。多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的又一個重要特征。在 C++面向?qū)ο蟮某绦蛟O(shè)計中,用虛函數(shù)來實現(xiàn)多態(tài)性以提高程序設(shè)計的可擴展性。 ? 編譯時多態(tài)性與運算符的重載 ? 重載是 C++不同于 C語言的一個重要功能。在 C語言中不允許有兩個相同的函數(shù)名,但在 C++中同一作用域內(nèi)允許不同的函數(shù)以相同的函數(shù)名被定義。 C++提供的這種機制稱為重載。到底選用哪個函數(shù)來作為執(zhí)行體由編譯器根據(jù)函數(shù)的參數(shù)來進行識別。在類的定義中,普通成員函數(shù)和構(gòu)造函數(shù)都可以重載。特別是構(gòu)造函數(shù)的重載給程序設(shè)計帶來了更大的靈活性。 ? C++支持運算符的重載。 C++是這樣處理運算符的。對于表達式 10+20,編譯器通常將這個表達式看成這樣一個函數(shù) int operator +(10,20),而對表達式 +,編譯器也看成這樣一個函數(shù) double operator +(,)。由此可見,我們可以將 operator +處理成一個函數(shù)名。這樣以通過 C++函數(shù)的重載功能來處理 C++運算符的重載。我們也可以再編幾個這種“ operator +”的函數(shù)來進行重載。對于其他的運算符的重載,C++也采用相同的方法。 ? 例 給出平面上兩個矢量的加法 ? include ? class point ? { ? public: ? int x,y。 ? point(int i=0,int j=0){x=i。y=j。}。 ? }。 ? point operator+(point p1,point p2) ? { ? point temp。 ? =+。 ? =+。 ? return temp。 ? } ? void main(void) ? { ? point p1(2,4),p2(3,5)。 ? point p。 ? p=p1+p2。 ? coutp(x,y)=(39。,39。)\n。 ? } ? 程序運行的結(jié)果是: ? P( x,y) =(5,9)。 ? 雖然重載運算符所能實現(xiàn)的功能也能夠用重載函數(shù)來完成,但運算符的重載大大地簡化了程序的書寫,使程序更加清晰,增加了程序的可讀性。注意有幾個運算符是不能重載的。它們是“ .”、“::”、“?:”、“ ”和一元運算符“ *”。但“ *”作為二元運算符時是可以重載的。 ? 運行時多態(tài)性與虛函數(shù) ? C++中提供了虛函數(shù)來實現(xiàn)多態(tài)性,以提高程序的可擴展性。虛函數(shù)是指基類中定義的某個成員函數(shù)的前邊加上關(guān)鍵字 virtual修飾 。 同時該函數(shù)又可在其派生類中被重新定義。程序中使用指向派生類對象的基類指針來調(diào)用該函數(shù)時,程序便會在運行中動態(tài)選擇地執(zhí)行相應(yīng)類的成員函數(shù)。即可以對同一個函數(shù)的調(diào)用做出不同的反應(yīng)。 ? 看下面沒有多態(tài)性的例子: ? 例 ? include ? class A { ? public: ? void print( ) { cout A 。 } ? }。 ? class B:public A { //定義派生類 ? public: ? void print( ) { cout “ B ”。 } }。 //重新定義函數(shù) ? void main( ) { ? A a, *p。 ? B b。 ? p= amp。a。 pprint( )。 //訪問基類函數(shù) ? p= amp。b。 pprint( )。 //希望訪問派生類函數(shù) ? } ? 這個程序輸出的是兩個 A即“ AA”。 ? 由此可以看出,當調(diào)用派生類中的 print()函數(shù)時,實際上是調(diào)用的基類中的 print函數(shù)。而派生類中的同名函數(shù)沒起作用。 ? 1.虛函數(shù)的定義 ? 假設(shè)將上述程序作一下修改,則將基類中的 print()函數(shù)定義成虛函數(shù),即在基類中的 print()函數(shù)前加上關(guān)鍵字 virtual,這樣其結(jié)果是完全不一樣的。 ? 例如: ? include ? class A { public: ? virtual void print( ) { cout A 。 }。 ? }。 ? class B:public A { //定義派生類 public: ? void print( ) { cout B 。 }。 }。 //重新定義函數(shù) ? void main( ) { A a, *p。 ? B b。 ? p= amp。a。 pprint( )。 //訪問基類函數(shù) ? p= amp。b。 pprint( )。 //希望訪問派生類函數(shù) ? } ?則其程序運行的輸出結(jié)果為“ AB”。 習 題 ? 1.掌握面向?qū)ο蟮某绦蛟O(shè)計方法。 ? 2.了解 C++程序設(shè)計中幾個特點。 ? 3.如何定義類?如何聲明對象? ? 4.編寫 C++簡單的程序,輸入三個邊求三角形的面積。 ? 5.解釋類定義中公有成員和私有成員的區(qū)別? ? 6.簡述公有繼承、保護繼承和私有繼承的差別。 ? 7.說明派生類構(gòu)造函數(shù)的執(zhí)行順序。
點擊復(fù)制文檔內(nèi)容
化學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1