C 捷徑之七 結束

2021-04-12 22:02:14 字數 2766 閱讀 9505

//

異常處理

,try,throw,catch

try

catch(int i)

//throw

扔出的值,與

catch

得到的值型別匹配 //

被扔出值後,程式就跳到

catch

語句進行處理。處理完後繼續執行

catch

後面的語句。

class myexception

myexception(char *s)

};//

定義乙個類

myexception //

主函式中引用

try//

必須位於所有

catch

語句的後面。 //

另一種定義

throw

的型別確定

void xhandler(int test) throw(int, char ,double) //

用於判斷是否分配空間成功

trycatch(bad_alloc xa)//

最後需要

delete p;

釋放空間 //

另一種判斷方法

p=new(nothrow) int[32];

if(!p) //

類中定義帶有異常處理得

newvoid *three_d::operator new(size_t size)

return p;}

//i/o系統

ostream &operator<<( ostream &stream, three_d obj ) //

重新釋義

iostream

庫中的的輸出運算子

ostream<< //

可以在類中定義友元

friend ostream &operator<<( ostream &stream, three_d obj);

istream &operator>>( istream &stream, three_d &obj)

//重新釋義

iostream

庫中的的輸出運算子

istream>> //

說明格式化

i/o

cout.setf( ios::showpos );

//顯示+-號

cout.setf( ios::scientific );

//科學輸入法

ios::fmtflags f;//

標準io

庫中的ios類

cout.precision(2);

cout.width(10);

cout.fill('#');

#include

stream.setf(ios::right);

stream< //

寫入乙個檔案

--12

#include

#include

using namespace std;

int main()

out<<10<<" "<<123.23<

//test

檔案中寫入

10,123.23,this is a short text file

out.close();

return 0;}

int main()

in>>i;

in>>f;

in>>ch;

in>>str;//從

test

檔案中讀資料到

i,f,ch,str

cout<

in.close();

return 0;}

//get()

輸出檔案內容

--14

#include

#include

using namespace std;

int main(int argc, char *argv)

ifstream in(argv[1], ios::in | ios::binary);

if(!in)

while(in)

//put()

輸入檔案內容

--15

#include

#include

using namespace std;

int main(int argc, char *argv)

while(*p)

out.put(*p++);

return 0;}

//read()

和write()--16

#include

#include

using namespace std;

int main(int argc, char *argv)

;register int i;

ofstream out("test", ios::out|ios::binary);

if(!out)

out.write( (char *)&n, sizeof n );

out.close();

for(i=0; i<5; i++)

n[i]=0;

ifstream in("test", ios::in|ios::binary );

if(!in)

in.read( (char *)&n, sizeof n );

for(i=0; i<5; i++)

cout<

in.close();

return 0;}  

C 捷徑之五

說明成 員函式重 載運算子 three d operator three d op2 類中定義,運算子過載 three d three d operator 前置 a three d operator int notused three d three d operator int notused ...

通向DirectDraw之捷徑

1.directdraw的安裝 在本文中,我假定你擁有微軟公司的 visual c 和 directx 8.1 sdk。如果沒有,就快去準備乙份吧。首先,啟動你的 visual c 建立乙個新的 win32 應用程式工程。然後進入 你 directx sdk 資料夾中的 common include...

C 捷徑之一

所有變數在 呼叫前必 須被初始化。對所有的用 戶輸入,必 須進行合法性檢查。不要比較 浮點數的相等,如 10.0 0.1 1.0 不可靠 程式與環 境或狀態發生關 系時,必須 主動去處 理發生的意外事件,如檔案能否 邏輯鎖定 印表機是否 聯機等。單元 測試也是 程式設計的一部份,提交 聯調測試 的程...