《物件導向程式設計》高手進,物件導向程式設計C 高手指點

2021-08-11 19:13:50 字數 5549 閱讀 1793

1樓:

(1) 為了在記憶體和外部裝置之間穩定可靠的傳輸資料和解釋資料,c++基於物件導向觀點,把i/o抽象為流類。

(2) cin(標準輸入流) , cout(標準輸出流) , cerr(非緩衝錯誤輸出流), clog(緩衝錯誤輸出流)

(3) cerr,標準錯誤輸出流,連向顯示器。只顯示,不儲存,cerr不能重定向到檔案,輸出到cerr的資訊不經過緩衝區,實時顯示。

clog,標準錯誤輸出流,連向印表機。不能重定向。到clog的輸出是緩衝輸出。即插入clog的資訊可能保持在緩衝區,等到緩衝區重新整理時才輸出。

(4)ios提供直接設定標誌字的控制格式函式,ios類中宣告一個資料成員,用於記錄當前流的格式化狀態,這個資料成員稱為標誌字。

由於格式控制比較繁瑣,c++在ios的派生類istream和ostream中定義了一批函式,作為過載插入運算子的右運算元控制i/o格式。所以稱為控制符(或操作運算元)從而簡化了格式化輸入輸出**編寫。這些控制符在iostream.

h 和iomanip.h檔案中說明。

(5)檔案操作總是包含3個基本步驟:開啟檔案→讀/寫檔案→關閉檔案。

(6)根據存取方式分為順序存取檔案和隨即存取檔案

順序存取檔案指對檔案的元素順序操作。為讀第i個元素,首先讀取底i-1個元素。

隨即存取檔案通過檔案指標在檔案中移動,可以查詢到指定位置進行讀寫。

2樓:匿名使用者

1、c++將輸入輸出裝置包裝成物件,形成了新的輸入輸出系統2、cin,cout,cerr,clog

3、cerr不經過緩衝區,直接向顯示器輸出資訊,而clog中的資訊存放在緩衝區,緩衝區滿或者遇到endl時才輸出

4、格式化函式、操作運算元

5、開啟檔案,io操作,關閉檔案按

6、順序檔案,適用於讀寫連續塊中的文字檔案,以字元儲存。由於是以字元儲存,因此不宜儲存太長的檔案(如大量數字隨機檔案,適用於讀寫有固定長度多欄位記錄的文字檔案或二進位制檔案,以二進位制數儲存。確定檔案指標的位置用成員函式tellp(),tellg()。

3樓:

話說c++沒學好,慚愧。。

網上這方面的知識應該很多你,你可以去查下。。

物件導向程式設計》高手進~~~~~~~~~~~~!!

4樓:

1、如下兩個函式原型是否等價?

float fun(int a, flaot b, char*c);

float fun(int, float, char* c);

等價 2、如下兩個函式第一行是否等價?

float fun(int a, flaot b, char*c)float fun(int, float, char*);

等價 3、如下兩個函式是否等價

float fun ( );

float fun (void);

等價 4、下列在記憶體中分配一個整數並將其初始化為零的語句正確與否?

int * myval=new int (0);正確

5樓:匿名使用者

沒人敢答得,你這連續的4題,刷分嫌疑太大了,會被舉報的

6樓:匿名使用者

1,n 2,y 3,y 4,y 5,noanswer

《物件導向程式設計》高手進~~~~~~~~~~~~!!

7樓:┈━═☆恆

第二章:

1、如下du

兩個函zhi數原型是否

等價dao?

float fun(int a, flaot b, char*c);

float fun(int, float, char* c);

等價2、如下兩回個函式第一行是否答等價?

float fun(int a, flaot b, char*c)float fun(int, float, char*);

等價3、如下兩個函式是否等價

float fun ( );

float fun (void);

等價4、下列在記憶體中分配一個整數並將其初始化為零的語句正確與否?

int * myval=new int (0);正確

8樓:

4,6,7 章的我在你分開提問的問題裡我已經回答了

9樓:匿名使用者

分成幾個小問題可能會有人來回答,這個也太嚇人了!

10樓:夢遊胡說

問題雖然不難。但這也太...多了

《物件導向程式設計》高手進~~~~~~~~~~~~!!

11樓:匿名使用者

1.三種派生方式:private public protected

private:只允許在派生類的成員函式中訪問基類原有的非私有成員

public:基類中的所有公有成員和保護成員在派生類中認為公有成員和保護 成員,可以通過派生類的成員函式訪問基類中所有非私有成員。還可通過派生類的物件直接訪問基類中的公有成員。

protected:基類中的所有公有成員和保護成員都成了保護成員,只允許派生類的成員函式及派生類的派生類中的成員函式訪問基類的非私有成員,不能通過派生類的物件直接訪問基類的任何成員。

2.派生類不能訪問基類的私有成員。無論那種派生方式都繼承了基類的所有成員,當然也包括私有成員,可以通過呼叫公有成員函式來訪問和設定私有成員。

3.保護成員的特性:能被該類和繼承類的成員函式訪問。

(基類中的保護成員被公有私有方式繼承後的特性看第一題)

4.派生類的建構函式執行之前必先呼叫基類的建構函式,建立基類的一個物件,當物件生命週期完結之時,先呼叫派生類的解構函式釋放其資源,而後呼叫基類的解構函式。

5.基類中的建構函式和解構函式都不能被繼承。

派生類的建構函式:派生類中的新的或者改造來的成員則需要自己的建構函式,從基類中繼承來的則呼叫基類的建構函式。其中分隱式呼叫和顯式呼叫。解構函式需派生類中重新構造。

6.多重繼承:一個派生類由多個基類派生而來叫做多重繼承。

多重繼承時,首先呼叫所有基類的建構函式,多個基類的建構函式的呼叫順序按照定義派生類時各基類的排序確定,而後呼叫派生類的建構函式,解構函式為此逆序。

1.呼叫函式模板時產生一個例項——模板函式;類别範本宣告時所給出的已經確定了資料型別的類成為模板類,也就是說模板類是類别範本的例項。

2.先呼叫模板函式,將具體的引數資料型別替換生成一個具體的函式使用。

12樓:匿名使用者

1、c++將輸入輸出裝置包裝成物件,形成了新的輸入輸出系統2、cin,cout,cerr,clog

3、cerr不經過緩衝區,直接向顯示器輸出資訊,而clog中的資訊存放在緩衝區,緩衝區滿或者遇到endl時才輸出

4、格式化函式、操作運算元

5、開啟檔案,io操作,關閉檔案按

6、順序檔案,適用於讀寫連續塊中的文字檔案,以字元儲存。由於是以字元儲存,因此不宜儲存太長的檔案(如大量數字隨機檔案,適用於讀寫有固定長度多欄位記錄的文字檔案或二進位制檔案,以二進位制數儲存。確定檔案指標的位置用成員函式tellp(),tellg()。

13樓:

第四章(1)c++中,描述類繼承的語法是: class 派生類名:基類名錶 ,如果基類名錶中只有一個基類,稱為單繼承;如果基類名錶中有多個基類,稱為多繼承。

繼承性是由資料成員和成語函式說明中的「訪問控制」來定義的,分為三種:public 公有繼承;private 私有繼承;protected保護繼承。如果預設訪問控制符,則預設為私有繼承。

(2)無論派生類以何種方式繼承基類,都不能使用基類的私有成員。

可以通過定義類的友員來實現對私有成員的訪問。友員可以訪問類的所有成員,包括私有成員,友員可以是一個普通函式,成員函式或者一個類。

方法:在一個類a中,如果將關鍵字friend冠以一個函式原型或類名之前,則該函式或類就成為類a的友員。友員不受在類中的說明位置(private,protecte,public)影響,僅僅是宣告類a的一個友員。

例子: class a

;.......

void f(a * ptr, int x)

; //友員函式訪問類的私有資料成員

void a :: m(int x)

;(3)保護成員是對派生類有遮蔽作用。公有繼承後,基類的保護成員為派生類的保護成員;私有繼承後,基類的保護成員為派生類的私有成員

(4)在主函式執行到與類對應的宣告物件時,呼叫建構函式;

主函式結束後,撤銷對應物件時,自動呼叫解析函式

(5)例子:

#include

class date

;date::date() //定義 建構函式

date::~date() //定義 解析函式

void main()

//程式結束 自動呼叫解析函式

(6)一個派生類有多個直接基類,稱為「多繼承」

多個基類的派生類建構函式用初始式呼叫基類建構函式,執行順序與單繼承建構函式情況類似:先執行基類建構函式,再執行子物件建構函式,最後執行本身的建構函式。由於多繼承的派生類有多個直接基類,他們的建構函式執行順序取決於定義派生類時指定的各個繼承基類的順序,而與派生類建構函式成員初始化列表中給定的基類順序無關。

解析函式的呼叫順序與單繼承相似,特別注意,先呼叫的後解析,類似堆疊。

第六章(1)一般函式是對相同型別資料物件(不同值)操作的抽象。函式模板是對相同邏輯結構(不同資料型別)資料物件操作的抽象,是生成不通型別引數過載函式的「模板」。

模板函式是一個函式,是函式模板的例項化,一個函式模板可以例項化多個模板函式。

類别範本與模板類與函式模板和模板函式相似。

類别範本的成員函式是函式模板,當類别範本例項化時,成員函式(函式模板)同時例項化為模板函式

(2)編譯器通過匹配過程確定呼叫哪個函式。匹配順序如下:

1.尋找和使用最符合函式名和引數型別的模板函式。

2.否則,尋找一個函式模板,將其例項化產生一個匹配的模板函式,若找到,則呼叫。

3.否則,尋找可以通過型別轉換經行引數匹配的過載函式,若找到,則呼叫。

4.如果按以上均找不到匹配函式,則這個呼叫是錯誤的。若這個呼叫有多餘一個的匹配選擇,則這個呼叫也是錯誤的。

這個答案應該算很詳細了,而且還配有程式和註釋,看懂應該沒有問題,希望對你有所幫助。

物件導向程式設計c++高手指點

14樓:一季忘川

cout<<"the first complex is:"

cout<

15樓:eterlf4區瑪

算術操作符是雙目運算,應該要兩個形參吧

關於物件導向程式設計的一些題目,求高手解答。

16樓:匿名使用者

你怎麼2個第九題

1.b,

2.b,

3.a,

4.a,

5.d,

6.d,

7.d,

8.d,

9.a,

9.c,

10.d

物件導向程式設計和麵向過程程式設計有什麼區別

區別 物件導向 注重對資料的使用。試圖把資料和對其的操作封裝在一起 類 並且嘗試去自動處理一些不同的函式的呼叫工作 多型,過載等 以減輕對函式的依賴。程序導向 則注重對函式 功能模組 的應用,這些年也有一些面向函式的語言開始復甦 如f 也可以看出,面向的重點不同,也各有領域和優點。聯絡 聯絡其實在不...

物件導向程式的特點是什麼?物件導向程式設計和麵向過程程式設計有什麼區別?請回答簡潔一些

物件導向程式的特點 封裝 繼承 多型 這2個都是軟體程式設計的思想,主要區別就在代回碼的重複利用上,答因為物件導向的三大特性使得物件導向的 利用率更高了。ps 不同的人理解不一樣,我的一個前輩說 都是約定俗成的那樣寫,搞程式的人不一定都能理解什麼是oo的特性,但都能寫的出來.三大特點是繼承性 封裝性...

物件導向程式設計中的繼承的概念是指,物件導向程式設計中的繼承的概念是什麼?

是指 派生自同一個基類的不同類的物件具有一些共同特徵 繼承 是物件導向軟體技術當中的一個概念。如果一個類a繼承自另一個類b,就把這個a稱為 b的子類 而把b稱為 a的父類 繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的 在令子類繼承父類的同時,可以重新定義某些屬性,並重寫某些方法,...