锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久青草国产精品一区,久久久精品久久久久特色影视,无码久久精品国产亚洲Av影片http://www.shnenglu.com/bch515/category/1875.htmlI am a humble coder.zh-cnFri, 30 May 2008 21:06:19 GMTFri, 30 May 2008 21:06:19 GMT60C++寮傚父澶勭悊灝忎緥http://www.shnenglu.com/bch515/articles/7919.htmlTHTHWed, 31 May 2006 02:29:00 GMThttp://www.shnenglu.com/bch515/articles/7919.htmlhttp://www.shnenglu.com/bch515/comments/7919.htmlhttp://www.shnenglu.com/bch515/articles/7919.html#Feedback0http://www.shnenglu.com/bch515/comments/commentRss/7919.htmlhttp://www.shnenglu.com/bch515/services/trackbacks/7919.html涓嬮潰鐨勭▼渚嬫潵鑷夾n Overview of the C++ Programming Language銆嬶紙5錛? 寮傚父鍜岄敊璇鐞嗭級
紼嬪簭鐢ㄩ旓細浣跨敤C++鐨勫紓甯告満鍒訛紝鎶ュ憡stack鐨勪笂婧㈡垨鑰呬笅婧€傦紙鎴戦傚綋鐨勬妸浠g爜琛ュ叏銆傦級

version 1 婕旂ず浜嗗熀鏈殑寮傚父鐢ㄦ硶銆?br />浠巘ry閲屾姏鍑轟竴涓紓甯革紙瀹炰緥鎴栧璞★級錛岀敱catch閲岀殑綾繪帴鍙椼?br />
聽1version聽1
聽2//聽From:聽An聽Overview聽of聽the聽C++聽Programming聽Language
聽3
聽4#include聽<cstdlib>
聽5#include聽<iostream>
聽6#include聽<string>
聽7usingnamespace聽std;
聽8
聽9template<class聽T>class聽Stack{
10聽聽聽聽T*聽v;
11聽聽聽聽int聽max_size;
12聽聽聽聽int聽top;
13public:
14聽聽聽聽class聽Underflow{聽};聽聽聽//聽涓嬫孩
15聽聽聽聽class聽Overflow{聽};聽聽聽聽//聽涓婃孩
16聽聽聽聽//聽construct聽function.聽determine聽the聽size聽聽聽
17聽聽聽聽Stack(int聽s):聽max_size(s),聽top(0){聽v聽=new聽T[max_size];}聽聽聽聽聽聽
18聽聽聽聽~Stack(){}
19聽聽聽聽void聽push(T聽c){
20聽聽聽聽聽聽聽聽if(top聽==聽max_size)聽throw聽Overflow();
21聽聽聽聽聽聽聽聽v[top++]聽=聽c;
22聽聽聽聽}
23聽聽聽聽T聽pop(){
24聽聽聽聽聽聽聽聽if(top聽==0)聽throw聽Underflow();
25聽聽聽聽聽聽聽聽return聽v[--top];
26聽聽聽聽}
27};聽
28
29void聽f()
30{
31聽聽聽聽Stack<string>聽ss(10);
32聽聽聽聽try{
33聽聽聽聽聽聽聽聽ss.push("Quiz");
34聽聽聽聽聽聽聽聽string聽s聽=聽ss.pop();
35聽聽聽聽聽聽聽聽ss.pop();
36聽聽聽聽}
37聽聽聽聽catch(Stack<string>::Overflow){
38聽聽聽聽聽聽聽聽cerr聽<<"error:聽stack聽overflow"<<聽endl;
39聽聽聽聽}
40聽聽聽聽catch(Stack<string>::Underflow){
41聽聽聽聽聽聽聽聽cerr聽<<"error:聽stack聽underflow"<<聽endl;
42聽聽聽聽}
43}
44
45int聽main(int聽argc,聽char*argv[])
46{
47聽聽聽聽f();
48聽聽聽聽system("PAUSE");
49聽聽聽聽return聽EXIT_SUCCESS;
50}
51
52杈撳嚭緇撴灉錛歟rror:聽stack聽underflow
53
54


鏀硅繘錛屾垜浠殑絎簩涓増鏈涓嬶細
濡傛灉灝?/p>

聽1class聽Underflow{聽};聽聽聽//聽涓嬫孩
聽2聽聽聽聽class聽Overflow{聽};聽聽聽聽//聽涓婃孩
聽3鍜?br />聽4聽聽聽聽catch(Stack<string>::Overflow){
聽5聽聽聽聽聽聽聽聽cerr聽<<"error:聽stack聽overflow"<<聽endl;
聽6聽聽聽聽}
聽7聽聽聽聽catch(Stack<string>::Underflow){
聽8聽聽聽聽聽聽聽聽cerr聽<<"error:聽stack聽underflow"<<聽endl;
聽9聽聽聽聽}
10


鍒嗗埆鏀規垚濡備笅錛?/p>

聽1
聽2聽聽聽聽class聽Underflow{聽聽聽聽聽聽//
聽3聽聽聽聽public:
聽4聽聽聽聽聽聽聽聽void聽error(void){
聽5聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Underflow"<<聽endl;
聽6聽聽聽聽聽聽聽聽}聽聽聽聽
聽7聽聽聽聽};聽聽聽
聽8聽聽聽聽class聽Overflow{聽聽聽聽聽聽聽//
聽9聽聽聽聽public:
10聽聽聽聽聽聽聽聽void聽error(void){
11聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Overflow"<<聽endl;
12聽聽聽聽聽聽聽聽}聽
13聽聽聽聽};聽聽聽
14鍜?br />15聽聽聽聽catch(Stack<string>::Overflow&聽e){
16聽聽聽聽聽聽聽聽e.error();
17聽聽聽聽}
18聽聽聽聽catch(Stack<string>::Underflow&聽e){
19聽聽聽聽聽聽聽聽e.error();
20聽聽聽聽}
21

鏀瑰悗鐨勭▼搴忓拰鍘熷厛鐨勫尯鍒湪鍝噷錛岀湅鍑烘潵浜嗗悧錛?鍛靛懙鍛點?br />
褰撶劧錛屾垜浠繕鑳藉皢浠g爜鏀硅繘銆傝繖鏍蜂駭鐢熶簡絎笁涓増鏈?br />
絎笁涓増鏈細version3
鍦⊿tack閲岄潰娣誨姞涓涓被class Stack_error,璁︰nderflow鍜孫verflow閮界戶鎵垮畠錛?/p>

聽1template<class聽T>class聽Stack{
聽2聽聽聽聽//聽聽聽聽
聽3public:
聽4聽聽聽聽class聽stack_error{
聽5聽聽聽聽public:
聽6聽聽聽聽聽聽聽聽virtualvoid聽error(void){銆銆//褰撶劧錛屽彲浠ユ妸瀹冨仛鎴愮函铏氱殑銆傛娊璞$被銆?/span>
聽7聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack_error"<<聽endl;
聽8聽聽聽聽聽聽聽聽}
聽9聽聽聽聽};
10聽聽聽聽class聽Underflow:聽public聽stack_error{聽聽聽聽聽聽//
11聽聽聽聽public:
12聽聽聽聽聽聽聽聽void聽error(void){
13聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Underflow"<<聽endl;
14聽聽聽聽聽聽聽聽}聽聽聽聽
15聽聽聽聽};聽聽聽
16聽聽聽聽class聽Overflow:聽public聽stack_error{聽聽聽聽聽聽聽//
17聽聽聽聽public:
18聽聽聽聽聽聽聽聽void聽error(void){
19聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Overflow"<<聽endl;
20聽聽聽聽聽聽聽聽}聽
21聽聽聽聽};聽聽聽
22聽聽聽聽//
23}
24
鎺ョ潃鎶婁袱涓猚atch鍚堝茍鎴愪竴涓猚atch錛屽涓嬨?br />
聽聽try{
聽聽聽聽聽
//聽the聽same
聽聽聽聽}
聽聽聽聽
catch(Stack<string>::stack_error&聽e){
聽聽聽聽聽聽聽聽e.error();
聽聽聽聽}

榪欎笁涓増鏈殑鍔熻兘鏄竴鏍風殑錛屼絾鐗堟湰瓚婇珮錛屼唬鐮佽秺娓呮櫚錛屼唬鐮佷篃瓚婂鏄撶淮鎶ゃ?br />
濡傛灉鎴戜滑璁捐浜嗕竴涓簱錛堟瘮濡備笂闈㈢殑Stack錛夛紝鍦ㄥ紑濮嬬殑鏃跺欐兂鍒扮殑灝辨槸涓や釜寮傚父錛宱verflow鍜寀nderflow銆傚鏋滄湁version1鍜寁ersion3 榪欎袱縐嶆柟娉曡璁tack錛岄偅涔堝嚱鏁癴()錛堢敤鎴風殑浠g爜錛変篃鍚屾牱version1鍜寁ersion錛撱傚綋涓孌墊棩瀛愯繃鍘諱簡錛屾垜浠噯澶囧啀鍔犲叆涓涓紓甯革紝姣斿midflow()錛堝懙鍛靛懙錛屾垜涔熸兂涓嶅嚭鏈変粈涔堢被浼肩殑寮傚父浜嗭級銆傝繖鏍風殑璇濓紝搴撹璁¤呭鐢ㄦ埛璇達細鈥滄垜浠彂鐜頒簡midflow()寮傚父錛屽茍鍔犲叆搴撲唬鐮佷腑錛岃鎮ㄦ敼鍐欐偍鐨勪唬鐮乫()銆傗?br />榪欐牱鎴戜滑鐨剉ersion1寰椾慨鏀規垚濡備笅褰㈠紡錛?br />
void聽f()
{
聽聽聽聽Stack
<string>聽ss(10);
聽聽聽聽
try{
銆聽聽聽聽
//.
聽聽聽聽}
聽聽聽聽
catch(Stack<string>::Overflow){
聽聽聽聽聽聽聽聽cerr聽
<<"error:聽stack聽overflow"<<聽endl;
聽聽聽聽}
聽聽聽聽
catch(Stack<string>::Underflow){
聽聽聽聽聽聽聽聽cerr聽
<<"error:聽stack聽underflow"<<聽endl;
聽聽聽聽}
聽聽聽聽
catch(Stack<string>::Midflow){聽聽聽聽//鎴戜滑鐨勬壘鍒版墍鏈夋墤鎹塻tack寮傚父鐨勪唬鐮侊紝騫跺姞鍏ヨ繖涓ゅ彞銆?/span>
聽聽聽聽聽聽聽聽聽聽cerr聽<<"error:聽stack聽midflow"<<聽endl;
聽聽聽聽}
}

鑰寁ersion3鐢變簬midflow()緇ф壙浜唖tack_error銆傝屽叾鎺ュ彛榪樻槸涓鏍鳳紝瀹㈡埛浠g爜灝辨棤闇鏇存敼浜嗐?br />
聽瀹屾瘯銆傞灎韜?璇峰澶氫氦嫻侊紒

闄勶細version3瀹屾暣浠g爜錛?
聽1Version聽3:
聽2#include聽<cstdlib>
聽3#include聽<iostream>
聽4
聽5usingnamespace聽std;
聽6
聽7template<class聽T>class聽Stack{
聽8聽聽聽聽T*聽v;
聽9聽聽聽聽int聽max_size;
10聽聽聽聽int聽top;
11public:
12聽聽聽聽class聽stack_error{
13聽聽聽聽public:
14聽聽聽聽聽聽聽聽virtualvoid聽error(void)聽=0;
15聽聽聽聽};
16
17聽聽聽聽class聽Underflow:聽public聽stack_error{聽聽聽聽聽聽//
18聽聽聽聽public:
19聽聽聽聽聽聽聽聽void聽error(void){
20聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Underflow"<<聽endl;
21聽聽聽聽聽聽聽聽}聽聽聽聽
22聽聽聽聽};聽聽聽
23聽聽聽聽class聽Overflow:聽public聽stack_error{聽聽聽聽聽聽聽//
24聽聽聽聽public:
25聽聽聽聽聽聽聽聽void聽error(void){
26聽聽聽聽聽聽聽聽聽聽聽聽cerr聽<<"stack聽Overflow"<<聽endl;
27聽聽聽聽聽聽聽聽}聽
28聽聽聽聽};聽聽聽
29聽聽聽聽Stack(int聽s):聽max_size(s),聽top(0){聽v聽=new聽T[max_size];}聽聽聽聽聽聽聽聽//聽construct聽function.聽determine聽the聽size聽聽聽
30聽聽聽聽~Stack(){}
31聽聽聽聽void聽push(T聽c){
32聽聽聽聽聽聽聽聽if(top聽==聽max_size)聽throw聽Overflow();
33聽聽聽聽聽聽聽聽v[top++]聽=聽c;
34聽聽聽聽}
35聽聽聽聽T聽pop(){
36聽聽聽聽聽聽聽聽if(top聽==0)聽throw聽Underflow();
37聽聽聽聽聽聽聽聽return聽v[--top];
38聽聽聽聽}
39};聽
40
41void聽f()
42{
43聽聽聽聽Stack<string>聽ss(0);
44聽聽聽聽try{
45聽聽聽聽聽聽聽聽ss.push("Quiz");
46聽聽聽聽聽聽聽聽string聽s聽=聽ss.pop();
47聽聽聽聽聽聽聽聽ss.pop();
48聽聽聽聽}
49聽聽聽聽catch(Stack<string>::stack_error&聽e){
50聽聽聽聽聽聽聽聽e.error();
51聽聽聽聽}
52
53}
54
55int聽main(int聽argc,聽char*argv[])
56{
57聽聽聽聽f();
58聽聽聽聽system("PAUSE");
59聽聽聽聽return聽EXIT_SUCCESS;
60}
61



TH 2006-05-31 10:29 鍙戣〃璇勮
]]>
国产成人久久精品二区三区| 久久久av波多野一区二区| 99热都是精品久久久久久| 久久涩综合| 男女久久久国产一区二区三区| 久久久青草青青亚洲国产免观| 久久久久久久久久免免费精品| 亚洲AV无码久久| 久久久99精品成人片中文字幕| 亚洲AV无码久久精品蜜桃| 精品免费久久久久国产一区| 久久久久久久97| 亚洲AⅤ优女AV综合久久久| 久久99精品久久久久久久不卡| 亚洲精品99久久久久中文字幕| 国产精品久久网| 久久永久免费人妻精品下载| 亚洲国产成人久久精品99 | 国产激情久久久久影院| 久久久久亚洲国产| 青青草原综合久久大伊人精品| 久久中文字幕人妻熟av女| 狠狠久久综合| 伊人久久大香线焦综合四虎| 无码人妻精品一区二区三区久久| 久久中文精品无码中文字幕| 嫩草影院久久99| 久久精品嫩草影院| 精品久久久久久无码专区| 亚洲va中文字幕无码久久不卡| 久久久久久伊人高潮影院| 久久久久亚洲AV无码专区桃色| 国产99久久久国产精品~~牛| 国产成人久久精品激情 | AV无码久久久久不卡网站下载| 国产欧美久久久精品影院| 欧美国产精品久久高清| 一本伊大人香蕉久久网手机| 成人精品一区二区久久久| 久久91精品国产91久久麻豆| 国产成人精品久久二区二区|