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

正文內(nèi)容

c語言教程:c語言第六章(參考版)

2024-10-06 16:36本頁面
  

【正文】 。 ? 5.解釋類定義中公有成員和私有成員的區(qū)別? ? 6.簡述公有繼承、保護繼承和私有繼承的差別。 ? 2.了解 C++程序設(shè)計中幾個特點。 //希望訪問派生類函數(shù) ? } ?則其程序運行的輸出結(jié)果為“ AB”。b。 pprint( )。 ? p= amp。 //重新定義函數(shù) ? void main( ) { A a, *p。 }。 ? }。 ? 例如: ? include ? class A { public: ? virtual void print( ) { cout A 。而派生類中的同名函數(shù)沒起作用。 //希望訪問派生類函數(shù) ? } ? 這個程序輸出的是兩個 A即“ AA”。b。 pprint( )。 ? p= amp。 //重新定義函數(shù) ? void main( ) { ? A a, *p。 ? class B:public A { //定義派生類 ? public: ? void print( ) { cout “ B ”。 ? 看下面沒有多態(tài)性的例子: ? 例 ? include ? class A { ? public: ? void print( ) { cout A 。程序中使用指向派生類對象的基類指針來調(diào)用該函數(shù)時,程序便會在運行中動態(tài)選擇地執(zhí)行相應(yīng)類的成員函數(shù)。虛函數(shù)是指基類中定義的某個成員函數(shù)的前邊加上關(guān)鍵字 virtual修飾 。但“ *”作為二元運算符時是可以重載的。注意有幾個運算符是不能重載的。 ? } ? 程序運行的結(jié)果是: ? P( x,y) =(5,9)。,39。 ? p=p1+p2。 ? } ? void main(void) ? { ? point p1(2,4),p2(3,5)。 ? =+。 ? point operator+(point p1,point p2) ? { ? point temp。}。 ? point(int i=0,int j=0){x=i。對于其他的運算符的重載,C++也采用相同的方法。這樣以通過 C++函數(shù)的重載功能來處理 C++運算符的重載。對于表達式 10+20,編譯器通常將這個表達式看成這樣一個函數(shù) int operator +(10,20),而對表達式 +,編譯器也看成這樣一個函數(shù) double operator +(,)。 ? C++支持運算符的重載。在類的定義中,普通成員函數(shù)和構(gòu)造函數(shù)都可以重載。 C++提供的這種機制稱為重載。 ? 編譯時多態(tài)性與運算符的重載 ? 重載是 C++不同于 C語言的一個重要功能。多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的又一個重要特征。僅允許派生類的成員函數(shù)訪問,而不能在派生類的對象中使用。而基類中的私有成員變成了派生類中不可訪問的成員。 ? ( 2) Private私有派生類 ? 私有派生類從基類中繼承了非私有的所有數(shù)據(jù)成員即公共成員和保護成員。 ? ( 1) Public公共派生類 ? 格式: ? class 派生類名 :public 基類名 ? 在這種關(guān)系中,基類中的私有成員在派生類中是不可訪問的,只能通過基類中的公有函數(shù)來訪問。 C++中類的繼承有三種權(quán)限,即公共派生類( public)、私有派生類( private)和保護派生類( protected)。 ? C++中最為重要的概念是類,其他的許多概念都與類有關(guān)。其中類的出現(xiàn),是走向面向?qū)ο缶幊痰牡谝徊健嶋H上絕大多數(shù)代碼都是重新寫的。有了繼承,使軟件的重用成為可能。即對象 aa和對象 bb的值發(fā)生了交換。 ? ()。 ? bb=cc。 ? cc=aa。 ? (1)。 ? }。 ? void ptr(void ){coutx。 ? public: ? void fz(int z){x=z。 } ? 4)同一類的多個對象可以相互賦值。 m_data = new char[length+1]。 ? String::String(const String amp。 // ( 4)返回本對象的引用 return *this。 m_data = new char[length+1]。 ? // (2) 釋放原有的內(nèi)存資源 ? delete [] m_data。other) ? {// (1) 檢查自賦值 ? if(this == amp。 ? String amp。 ? 通過構(gòu)造函數(shù)來給基類成員初始化是最常用的一種手段,前面已經(jīng)講過。 // 用于保存字符串 }。other)。 // 析構(gòu)函數(shù) String amp。other)。 ? 假設(shè)有類: ? class String {public: String(const char *str = NULL)。但是,對于基類對象來說,假設(shè)兩個已定義的基類對象,它們之間是否又能通過賦值的形式將一個基類對象的內(nèi)容完全賦給另一個基類對象呢?答案是肯定的。因為它先把指向基類的指針強制地轉(zhuǎn)化為指向派生類的指針,然后引用該對象中并不存在的成員。ib改為 piA=amp。 ? piBshowB()。 ? ()。 ? piAshowA()。 ? piB=(B *)piA。 ? piA=amp。 ? void main(void) ? { ? A ia,*piA。}。}。 ? class B:public A ? { ? int b。}。}。 ? 例 : ? include ? class A ? { ? int a。這也是程序設(shè)計中易犯的錯誤。相應(yīng)地,通過基類指針可以訪問派生類中所有從基類所繼承的成員。 ? 基類指針與派生類指針 ? 在 C++中,派生類的對象可作為其相應(yīng)基類的對象處理。 ? 即 :::display()。 //含糊不清。 ? void main(void) ? { ? zz obj。 ? }。 ? }。要正確的使用數(shù)據(jù)成員和成員函數(shù),則應(yīng)使用數(shù)據(jù)作用域運算符。 C++專門為我們提供了解決這一問題的辦法,這就是多義性。例如,一個窗體繼承了主窗體中的 show()函數(shù)。其中前三個參數(shù)是傳遞給基類的構(gòu)造函數(shù),后面兩個用來對派生類中的新增變量進行初始化。基類后面的參數(shù)列表,只需要參數(shù)名而不需要參數(shù)類型。 ? ()。,21,shanghai)。 ? student b(10011,zhang,39。f39。 ? }。 ? }。 ? coutage:age\n。 ? coutname:name\n。 ? }。 ? public: ? student(int n,char nam[],char s,int a,char ad[]):stud(n,nam,s)//構(gòu)造函數(shù)初始化 ? { ? age=a。 ? class student:public stud ? { ? private: ? int age。 ? ~stud(){}。 ? sex=s。 ? public: ? stud(int n,char nam[],char s) ? { ? num=n。 ? char name[10]。 ? 實際上派生類中的構(gòu)造函數(shù)自動執(zhí)行基類中的構(gòu)造函數(shù)且基類中的構(gòu)造函數(shù)先執(zhí)行。所以在設(shè)計派生類的構(gòu)造函數(shù)時,不僅要考慮派生類所增加的數(shù)據(jù)成員的初始化,還應(yīng)當(dāng)考慮基類的變量的初始化。也就是說,基類的構(gòu)造函數(shù)是不能被繼承的了。但在派生類中變?yōu)楸Wo的,不能在派生類的對象中使用。 ? (20)。 ? } ? } ? 那么在上述程序中的 main()函數(shù)中出現(xiàn)的下
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1