锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
2.鏋愭瀯鍑芥暟鑳戒笉鑳借閲嶈澆錛熶笉鑳斤紝鍥犱負鏋愭瀯鍑芥暟涓嶈兘甯﹀弬鏁幫紝鎵浠ヤ笉鑳介噸杞?
3.澶栭儴璁塊棶private綾繪垚鍛樺彧鑳界敤public綾繪帴鍙i氳繃public鎴愬憳鍑芥暟璁塊棶銆傚敖閲忎嬌鎵鏈夌被鐨勬垚鍛樹繚鎸乸rivate 闃呰鍏ㄦ枃
]]>
涓紝姣斿涓轟簡鐢熸垚0-10涔嬮棿鐨勬暣鏁幫紝閫氬父閲囩敤姹傛ā絎?%)鍜宺and()鍑芥暟 闃呰鍏ㄦ枃
]]>
聽聽 闈欐佹暟鎹垚鍛樺湪鏂囦歡鑼冨洿鍐?font color="#ff3300">蹇呴』榪涜涓嬈″垵濮嬪寲銆傜被鐨刾ublic闈欐佹垚鍛樺彲浠ラ氳繃綾葷殑浠諱綍瀵硅薄璁塊棶錛屼篃鍙互鐢ㄤ簩鍏冧綔鐢ㄥ煙鍒嗚鯨絎﹂氳繃綾誨悕榪涜璁塊棶銆?font color="#ff3300">綾葷殑private鍜宲rotected 闈欐佹垚鍛樺繀欏婚氳繃綾葷殑public鎴愬憳鍑芥暟鎴栫被鐨勫弸鍏冭闂?/font>銆?font color="#ff3300">鍗充嬌綾繪病鏈夊璞★紝浣嗕粛鐒舵湁闈欐佹垚鍛樸傜被娌℃湁瀵硅薄鏃訛紝瑕佹兂璁塊棶public闈欐佺被鎴愬憳錛屽彧闇鍦ㄦ垚鍛樻暟鎹悕鍓嶅姞涓婄被鍚嶅拰浜屽厓浣滅敤鍩熷垎杈ㄧ(::).瑕佸湪綾繪病鏈夊璞℃椂璁塊棶private鎴杙rotected 闈欐佺被鎴愬憳錛屽垯闇瑕佹彁渚涗竴涓猵ublic闈欐佹垚鍛樺嚱鏁幫紝騫跺湪璋冪敤鍑芥暟鏃跺湪鍑芥暟鍚嶅墠闈㈠姞涓婄被鍚嶅拰浜屽厓浣滅敤鍩熷垎杈ㄧ銆?/font>
#File Test.h
#ifndef TEST_H
#define TEST_H
class Test
{
聽聽 public:
聽聽聽聽聽聽聽聽 Test( const char * , const char * );
聽聽聽聽聽聽聽聽 ~Test();
聽聽聽聽聽聽聽聽 const char *GetFstString() const;
聽聽聽聽聽聽聽聽 const char *GetLstString() const;
聽聽聽聽聽聽聽聽 static int GetCount();
聽 private:
聽聽聽聽聽聽聽聽 char * strFst;
聽聽聽聽聽聽聽聽 char * strLst;
聽聽聽聽聽聽聽聽 static int count;聽
};
#endif
---------------------------------------------------------------------------------
#File Test.cpp
#include <iostream>
using std::cout;
using std::endl;
#include <cstring>
#include <cassert>
#include "Test.h"
int Test::count = 0;
int Test::GetCount() { return count ; }
Test::Test( const char * sFst, const char * sLst )
{
聽聽 strFst = new char[ strlen( sFst ) + 1 ];
聽聽 assert( strFst != 0 );
聽聽 strcpy( strFst, sFst );
聽
聽聽 strLst = new char[ strlen( sLst ) + 1 ];
聽聽 assert( strLst != 0 );
聽聽 strcpy( strLst, sLst );聽
聽聽 count++; // inc static count
聽聽 cout << " Test cons for " << strFst
聽聽聽聽聽聽聽 << "聽 " << strLst << " called. " << endl;
}
聽
Test::~Test()
{
聽聽 cout << " ~Test() called for " << strFst
聽聽聽聽聽聽聽 << " " << strLst << endl;
聽聽 delete [] strFst;
聽聽 delete [] strLst;
聽聽 count--;
}
const char * Test::GetFstString() const
{
聽聽聽 return strFst;
}
const char * Test::GetLstString() const
{
聽聽聽 return strLst;
}
--------------------------------------------------------------------------------
#File: main.cpp
#include <iostream>
using std::cout;
using std::endl;
#include "Test.h"
int main()
{
聽聽 cout << "before cons is "
聽聽聽聽聽聽聽 << Test::GetCount() << endl; // use class name
聽聽 Test *pTest1 = new Test( "FstTest1", "LstTest1" );
聽聽 Test *pTest2 = new Test( "FstTest2", "LstTest2" );
聽聽 cout << "after cons is "
聽聽聽聽聽聽聽 << pTest1->GetCount();聽 //using instan
聽聽 cout << "\n\nTest1: "
聽聽聽聽聽聽聽 << pTest1->GetFstString()
聽聽聽聽聽聽聽 << " " << pTest1->GetLstString()
聽聽聽聽聽聽聽 << "\nTest2:"
聽聽聽聽聽聽聽 << pTest2->GetFstString()
聽聽聽聽聽聽聽 << " " << pTest2->GetLstString() << "\n\n" << endl;
聽聽 delete pTest1;
聽聽 pTest1 = 0;
聽聽 delete pTest2;
聽聽 pTest2 = 0;
聽聽 cout << "num after deletion is "
聽聽聽聽聽聽聽 << Test::GetCount() << endl;
聽聽 return 0;
聽聽聽聽聽聽
}
-------------------------------------------------------------------------------------------
Result:
before cons is 0
聽Test cons for FstTest1聽 LstTest1 called.
聽Test cons for FstTest2聽 LstTest2 called.
after cons is 2
Test1: FstTest1 LstTest1
Test2:FstTest2 LstTest2
聽~Test() called for FstTest1 LstTest1
聽~Test() called for FstTest2 LstTest2
num after deletion is 0
聽聽 Test綾誨湪娌℃湁瀵硅薄鏃訛紝浠嶇劧鍙互寮曠敤count鎴愬憳錛屼絾鏄彧鑳介氳繃璋冪敤闈欐佹垚鍛樺嚱鏁癎etCount()瀹屾垚.
聽聽 娌℃湁瀹炰緥鍖栫殑瀵硅薄錛屼竴瀹氭槸鐢ㄧ被鍚嶈皟鐢═est::GetCount(),濡傛灉鏈夊疄渚嬪寲鐨勫璞★紝鍒欏彲浠ョ敤pTest1->GetCount()
璋冪敤銆傛垜浠叕鍙告槑紜瀹氾紝鎵鏈夐潤鎬佹垚鍛樺嚱鏁板彧鑳借皟鐢ㄧ被鍚嶅彞鏌勶紝涓嶈兘璋冪敤瀵硅薄鍙ユ焺錛屾垜瑙夊緱榪欐牱寰堝ソ銆?/font>
聽聽 榪樻湁涓鐐癸紝濡傛灉鎴愬憳鍑芥暟涓嶈闂潪闈欐佹暟鎹垚鍛樺拰鎴愬憳鍑芥暟錛屽彲浠ュ皢鎴愬憳鍑芥暟澹版槑涓洪潤鎬侊紝涓庨潪闈欐佹垚鍛樺嚱鏁頒笉鍚岀殑鏄紝闈欐佹垚鍛樺嚱鏁版病鏈塼his鎸囬拡錛屽洜涓洪潤鎬佺被鏁版嵁鎴愬憳鍜屾垚鍛樺嚱鏁版槸鐙珛浜庣被瀵硅薄鑰屽瓨鎵嶇殑銆?/font>
聽
聽聽 鍏充簬鏂█(assert) , assert綾誨畯鍦╟assert澶存枃浠朵腑瀹氫箟銆傜敤浜庢祴璇曟潯浠跺鹼紝娉ㄦ剰assert涓嶈繍琛屼換浣曟瀽鏋勫嚱鏁板嵆鍙腑姝㈢▼搴忔墽琛? assert涓嶄竴瀹氳鍦ㄨ皟璇曞畬鎴愬悗鍒犻櫎錛屽彧闇鍦ㄧ▼搴忔枃浠跺紑澶?閫氬父鍙互鍦ㄧ紪璇戝櫒閫夐」涓寚瀹?鎻掑叆璇彞
#define NDEBUG
]]>
浠ラ楀彿鍒嗗壊銆?br />
#include <iostream>
using std::cout;
using std::endl;
class Test
{
聽 public:
聽聽聽 Test(int i = 0, int j = 1 );
聽聽聽 void addon() { count += idx; }
聽聽聽 void print() const;
聽 private:
聽聽聽 int count;
聽聽聽 const int idx;
聽聽 聽const int idy;
};
Test::Test( int i, int j )
聽 :idx( j, i ), idy( j, j )
{
聽聽 count = j;
}
void Test::print() const
{
聽聽 cout << "count= " << count
聽聽聽聽聽聽聽 <<", idx = " << idx
聽聽 聽聽聽聽 <<", idy = " << idy
聽聽 聽聽聽聽 << endl;
}
int main()
{
聽聽聽 Test Test1( 20, 7 );
聽聽聽 cout << "Before doing addon: ";
聽聽聽 Test1.print();
聽聽聽 for ( int k = 0; k < 3; k++ )
聽聽聽 {
聽聽聽聽聽聽 Test1.addon();
聽聽聽聽聽聽 cout << "After addon " << k + 1 << ":";
聽聽聽聽聽聽 Test1.print();
聽聽聽 }
聽聽聽 return 0;
}
result:
Before doing addon: count= 7, idx = 20, idy = 7
After addon 1:count= 27, idx = 20, idy = 7
After addon 2:count= 47, idx = 20, idy = 7
After addon 3:count= 67, idx = 20, idy = 7
]]>
聽聽聽聽 涔熷彂涓綃囩亴姘存枃绔狅紝瀹冨鎴戝府鍔╁緢澶с備笉鏄垜鍐欑殑錛屾槸鏈嬪弸鍙戠粰鎴戠殑銆傛垜涔熷姞浜嗚嚜宸辯殑涓浜涚悊瑙?br />
聽聽聽聽 璇歌憶浜?/span>54宀佹椂鍐欑粰浠?/span>8宀?
鍎垮瓙璇歌憶鐬葷殑銆婅瀛愪功銆嬶紝鍙敤浜嗙煭鐭叓鍗佸叚瀛楋紝浣嗘槸瀵逛簬涓哄鍋氫漢鏈夌簿綆鑰屼笖鍏蜂綋鐨勫繝鍛娿備竴鍗冨叓鐧懼騫村墠鐨勬櫤鎱э紝鍦ㄤ粖澶╃殑縐戞妧鏃朵唬錛屼粛鐒舵湁闈炲父濂界殑鍙傝冧環
鍊箋備互鍓嶅惉浜鴻錛氣滅湡姝g殑鏅烘収錛屽彲浠ヨ秴瓚婃椂絀猴紝鍘嗕箙甯告柊銆傗濆垵鍚笉鐭ユ墍浠ワ紝鐜板湪瑙夊緱鎵璦鐢氭槸銆傝鎴戜滑涓璧?st1:personname w:st="on" productid="鍚戣钁涗寒">鍚戣钁涗寒鑰佸笀瀛︿範鍗佸爞璇撅紝鍦ㄥ彉灞涓畨韜珛鍛斤紝鍦ㄩ嗗涓壘鍒板姏閲忋?/span>
銆銆銆婅瀛愪功銆?/font>
銆銆澶悰瀛愪箣琛岋紝闈滀互淇韓錛屽剦浠ラ寰鳳紱闈炴竟娉婄劇浠ユ槑蹇楋紝闈炲闈滅劇浠ヨ嚧閬犮傚か瀛擱爤闈滀篃錛屾墠闋堝涔燂紱闈炲鐒′互寤f墠錛岄潪蹇楃劇浠ユ垚瀛搞傛犳參鍓囦笉鑳藉嫷綺撅紝闅簛鍓囦笉鑳藉喍鎬с傚勾鑸囨檪棣籌紝鎰忚垏姝插幓錛岄亗鎴愭灟钀斤紝澶氫笉鎺ヤ笘銆傛偛瀹堢寤紝灝囧京浣曞強錛?br />聽
銆銆絎竴璇撅細瀹侀潤鐨勫姏閲?/span>
銆銆鈥滈潤浠ヤ慨韜濄佲滈潪瀹侀潤鏃犱互鑷磋繙鈥濄佲滃欏婚潤涔熲濄傝钁涗寒蹇犲憡瀛╁瓙瀹侀潤鎵嶈兘澶熶慨鍏昏韓蹇冿紝闈欐濆弽鐪併備笉鑳藉闈欎笅鏉ワ紝鍒欎笉鍙互鏈夋晥鐨勮鍒掓湭鏉ワ紝鑰屼笖瀛︿範鐨勯瑕佹潯浠訛紝灝辨槸鏈夊畞闈欑殑鐜銆傜幇浠d漢澶у鏁扮粓鏃ュ繖紕岋紝浣犳槸鍚﹀簲鍦ㄥ繖涔變腑闈欎笅鏉ワ紝鍙嶆濅漢鐢熸柟鍚戯紵
聽 聽聽
聽 銆絎簩璇撅細鑺備凱鐨勫姏閲?/span>
銆銆鈥滀凱浠ュ吇寰封濄傝钁涗寒蹇犲憡瀛╁瓙瑕佽妭淇紝浠ュ煿鍏昏嚜宸辯殑寰瘋銆傚鎱庣悊璐紝閲忓叆涓哄嚭錛屼笉浣嗗彲浠ユ憜鑴辮礋鍊虹殑鍥版壈錛屾洿鍙互榪囩潃綰緥鐨勭畝鏈寸敓媧伙紝涓嶄細鎴愪負鐗╄川鐨勫ゴ闅躲傚湪榧撳姳娑堣垂鐨勬枃鏄庣ぞ浼氾紝浣犳湁娌℃湁鎯寵繃鑺備凱鐨勫ソ澶勫憿錛?br />
銆銆絎笁璇撅細璁″垝鐨勫姏閲?/span>
銆銆鈥滈潪婢規硦鏃犱互鏄庡織鈥濄佲滈潪瀹侀潤鏃犱互鑷磋繙鈥濄傝钁涗寒蹇犲憡瀛╁瓙瑕佽鍒掍漢鐢燂紝涓嶈浜嬩簨璁叉眰鍚嶅埄錛屾墠鑳藉浜嗚В鑷繁鐨勫織鍚戯紝瑕侀潤涓嬫潵錛屾墠鑳藉緇嗗績璁″垝灝嗘潵銆傞潰瀵規湭鏉ワ紝浣犳湁鐞嗘兂鍚楋紵浣犳湁浣垮懡鎰熷悧錛熶綘鏈夎嚜宸辯殑浠峰艱鍚楋紵
銆銆絎洓璇撅細瀛︿範鐨勫姏閲?/span>
銆銆鈥滃か瀛﹂』闈欎篃鈥濄佲滄墠欏誨涔熲濄傝钁涗寒蹇犲憡瀛╁瓙瀹侀潤鐨勭幆澧冨瀛︿範澶ф湁甯姪錛屽綋鐒墮厤鍚堜笓娉ㄧ殑騫抽潤蹇冨錛屽氨鏇村姞浜嬪崐鍔熷嶃傝钁涗寒涓嶆槸澶╂墠璁虹殑淇″緬錛屼粬鐩鎬俊鎵嶈兘鏄涔犵殑緇撴灉銆備綘鏄病鏈夊叏蹇冨叏鍔涚殑瀛︿範錛熶綘鏄惁鐩鎬俊鍔姏鎵嶆湁鎴愬氨鍛紵
銆銆絎簲璇撅細澧炲肩殑鍔涢噺
銆銆鈥滈潪瀛︽棤浠ュ箍鎵嶁濄佲滈潪蹇楁棤浠ユ垚瀛︹濄傝钁涗寒蹇犲憡瀛╁瓙瑕佸鍊煎厛瑕佺珛蹇楋紝涓嶆効鎰忓姫鍔涘涔狅紝灝變笉鑳藉澧炲姞鑷繁鐨勬墠騫層備絾瀛︿範鐨勮繃紼嬩腑錛屽喅蹇冨拰姣呭姏闈炲父閲嶈錛屽洜涓虹己涔忎簡鎰忓織鍔涳紝灝變細鍗婇旇屽簾銆備綘鏈夋病鏈夋兂榪囷紝涓榧撲綔姘旂殑浜哄錛屽潥鎸佸埌搴曠殑浜哄皯鐨勯亾鐞嗗憿錛?br />
銆銆絎叚璇撅細閫熷害鐨勫姏閲?/span>
銆銆鈥滄犳參鍒欎笉鑳藉姳綺鋸濄傝钁涗寒蹇犲憡瀛╁瓙鍑′簨鎷栧歡灝變笉鑳藉蹇熺殑鎺屾彙瑕佺偣銆傝綆楁満鏃朵唬鏄崄鍊嶉熺殑鏃朵唬錛屾牱鏍蜂簨鎯呰姹傛晥鐜囷紝鎯充笉鍒頒竴鍗冨叓鐧懼騫村墠鐨勬櫤鎱э紝涔熶竴鏍蜂笉璋嬭屽悎銆傚揩浜轟竴姝ワ紝鐞嗘兂灝辮兘瀹炵幇銆備綘鏈夋病鏈夋兂榪囷紝鏈夋洿澶氭椂闂村幓淇鍙婃敼鍠勶紝浠ヨ揪鎴愪綘鐨勪漢鐢熺洰鏍囧憿錛?br />
銆銆絎竷璇撅細鎬ф牸鐨勫姏閲?/span>
銆銆鈥滈櫓韜佸垯涓嶈兘鍐舵р濄傝钁涗寒蹇犲憡瀛╁瓙澶繃鎬ヨ簛灝變笉鑳藉闄跺喍鎬ф儏銆傚績鐞嗗瀹惰錛氣滄濇兂褰卞搷琛屼負錛岃涓哄獎鍝嶄範鎯紝涔犳儻褰卞搷鎬ф牸錛屾ф牸褰卞搷鍛借繍銆傗濊钁涗寒鏄庣櫧鐢熷懡涓浣滃嚭縐嶇騫寵 錛岃鍔辯簿錛屼篃瑕佸喍鎬с備綘瑕佹彁鍗囪嚜宸辨ф牸鐨勫搧璐ㄥ悧錛?br />
銆銆絎叓璇撅細鏃墮棿鐨勫姏閲?/span>
銆銆鈥滃勾涓庢椂椹扳濄佲滄剰涓庡瞾鍘燴濄傝钁涗寒蹇犲憡瀛╁瓙鏃跺厜椋為濓紝鎰忓織鍔涘張浼氶殢鐫鏃墮棿娑堢(錛屽皯澹笉鍔姏錛岃佸ぇ寰掍激鎮詫紝鏃墮棿綆$悊鏄釜鐜頒唬浜虹殑瑙傚康錛岀粏蹇冩兂涓鎯籌紝鏃墮棿涓嶅彲浠ヨ綆$悊錛屾瘡澶╀簩鍗佸洓灝忔椂錛屼笉澶氫篃涓嶅皯錛屾儫鏈夌鐞嗚嚜宸憋紝鍠勭敤姣忓垎姣忕銆傝浣犳兂涓鎯籌紝浣犳湁韞夎穾宀佹湀鍚楋紵
銆銆絎節璇撅細鎯寵薄鐨勫姏閲?/span>
銆銆鈥滈亗鎴愭灟钀解濄佲滃涓嶆帴涓栤濄佲滄偛瀹堢┓搴愨濄佲滃皢澶嶄綍鍙娾濄傝钁涗寒蹇犲憡瀛╁瓙鏃跺厜椋為濓紝褰撹嚜宸卞彉寰楀拰涓栫晫鑴辮妭錛屾墠鎮插徆韞夎穾宀佹湀錛屼篃浜庝簨鏃犺ˉ銆傝鎳傚緱灞呭畨鎬濆嵄錛屾墠鑳藉涓村嵄涓嶄貢銆傛兂璞″姏姣旂煡璇嗘洿鏈夊姏閲忋備綘鏈夋病鏈変粠澶у鐫鎯籌紝灝忓鐫鎵嬶紝鑴氳笍瀹炲湴錛岃鍒掕嚜宸辯殑浜虹敓鍛紵
銆銆絎崄璇撅細綺劇畝鐨勫姏閲?/span>
銆銆浠ヤ笂璇歌憶浜啓緇欏効瀛愮殑涓灝佷俊錛屽彧鐢ㄤ簡鐭煭鍏崄鍏瓧錛岀簿綆鍦頒紶閫掍簡鍏蜂綋鐨勮鎭傛垜鐩鎬俊綺劇畝鐨勮〃杈炬簮浜庢竻鏅扮殑鎬濇兂錛岄暱綃囧ぇ璁虹殑鍐呭錛屽鏄撲護浜虹敓鍘岋紝綺劇畝娌熼氭洿鏈夋晥鏋溿備綘鎳傚緱璦涔嬫湁鐗╁湴綺劇畝娌熼氬悧錛?/span>
銆銆浠庝互涓婄殑鍗佸爞璇句箣涓紝浣犺兘澶熸壘鍒頒竴鐐瑰惎鍙戝悧錛熻浣犵櫨蹇欎箣涓潤涓嬫潵錛岀敤涓嬮潰鐨勯鐩悜浣犵殑浜虹敓鎻愰棶錛屽湪鏀瑰彉涓笉鏂敼鍠勩?/span>
銆銆涓嶈闂細鑷繁寰楀埌浜涗粈涔堬紵搴旇闂細鑷繁浠樺嚭榪囦粈涔堬紵
銆銆涓嶈闂細鑷繁鐨勫湴浣嶅浣曪紵搴旇闂細鑷繁鐨勫績鍦板浣曪紵
]]>
聽聽 C++,鍏跺疄Java 鍜?c 閮戒竴鏍? 璋冪敤鍑芥暟鐨勬柟娉曟湁涓ょ
聽聽 浼犲艱皟鐢ㄥ拰寮曠敤璋冪敤銆?br />
聽聽 鍙傛暟浼犲艱皟鐢ㄦ椂錛?font color="#ff3300">浼氫駭鐢熻鍙傛暟鍊煎緱鍓湰騫跺皢鍓湰浼犻掔粰琚皟鐢ㄧ殑鍑芥暟錛屽鍓湰鐨勬洿鏀逛笉浼氬獎鍝嶈皟鐢ㄨ呯殑鍘熷鍙橀噺鍊?/font>錛?br />瀹冪殑浼樼偣鏄捐屾槗瑙侊紝緙虹偣鏄鍒舵暟鎹細鑺辮垂杈冮暱鐨勬椂闂淬?br />
聽 寮曠敤璋冪敤鐨勪紭鐐瑰氨鏄伩鍏嶅鍒跺ぇ閲忕殑鏁版嵁錛屼絾瀹夊叏鎬у樊錛?font color="#ff3300">鍥犱負琚皟鐢ㄧ殑鍑芥暟浼氱洿鎺ヨ闂茍淇敼璋冪敤鑰呯殑鏁版嵁錛屼嬌鐢ㄦ槸瑕佹牸澶栧皬蹇?/font>
#include <iostream>
using std::cout;
using std::endl;
int聽聽 pbyValue( int );
void聽 pByRef ( int & );
int main ()
{
聽聽 聽int x = 2;
聽聽 聽int z = 4;
聽聽 聽cout << "x= " << x << " before pByvalue \n"
聽聽 聽聽聽 聽 <<"Getting value by pByValue: "
聽聽 聽聽聽 聽 << pbyValue( x ) << endl
聽聽 聽聽聽 聽 << "x : " << x << " Got Value\n" <<endl;
聽聽 聽
聽聽聽 cout << "z= " << z << " before pBy Ref \n" << endl;
聽聽 聽聽聽 聽
聽聽 聽pByRef( z );
聽聽 聽聽聽 聽
聽聽 聽cout << "z : " << z << " Got Value\n" <<endl;
聽聽 聽
聽聽 聽return 0;
}
int pbyValue ( int a )
{
聽聽 聽return a *= a;
}
void pByRef( int &cRef )
{
聽聽 聽cRef *= cRef;
}
]]>
聽 聽C++ 鎻愪緵浜嗗唴鑱斿嚱鏁幫紙inline functions 錛夛紝涓昏鐢ㄤ簬鍑忓皯鍑芥暟鎵浣跨敤鐨勫紑閿錛屽挨鍏跺浜庡皬鍨嬪嚱鏁?br />
聽聽 鍑芥暟榪斿洖綾誨瀷涔嬪墠鐨勯檺瀹氱inline 璁╃紪璇戝櫒鍦ㄩ傚綋鐨勭▼搴忛儴鍒嗙敓鎴愬嚱鏁扮殑鍓湰錛屼互閬垮厤鍑芥暟璋冪敤錛岃繖鏍蜂嬌紼嬪簭涓彃鍏ュ涓嚱鏁?br />浠g爜鐨勫壇鏈紝浠ょ▼搴忓澶с傝屼笉鏄竴涓嚱鏁扮殑鍓湰錛堟瘡嬈¤皟鐢ㄥ嚱鏁版椂錛屾帶鍒墮兘浼氫紶鍒板嚱鏁頒腑錛夈?br />
聽聽 瀵瑰唴鑱斿嚱鏁扮殑鏇存敼閮介渶瑕侀噸鏂扮紪璇戣鍑芥暟鐨勬墍鏈夎皟鐢ㄨ咃紝榪欎細澶уぇ褰卞搷紼嬪簭鐨勭淮鎶わ紝鎵浠nline鐢ㄤ簬灝忓瀷鐨勶紝浣跨敤棰戠箒鐨勫嚱鏁版渶濂?
鑰屼笖鍐呰仈鍑芥暟涔熶嬌紼嬪簭鐨勬墽琛屾椂闂村噺灝戯紝浣嗗湪緙栬瘧鏃跺澶т簡紼嬪簭鐨勯暱搴︼紝褰撶劧涔熶笉緇濆錛屾湁鏃朵篃浼氬噺灝忕▼搴忛暱搴︼紝鐗瑰埆鏄?/font>鍐呰仈鍑芥暟鏄潪甯稿皬鐨勫嚱鏁版椂銆?br />
聽聽 棰樺璇濓紝 浣跨敤const鐨勭洰鐨勫湪鍑芥暟涓彧鏄繚鎶ゅ師濮嬪疄鍙傜殑鍓湰錛岃屼笉鏄師濮嬪疄鍙傛湰韜?/font>
聽
]]>
聽 鍦–++涓湁5涓瓨鍌ㄧ被璇存槑絎︼紝auto,register, extern mutable 鍜宻tatic.
瀛樺偍綾昏鏄庣鍙互鍒嗕負涓や釜瀛樺偍綾伙紝"鑷姩瀛樺偍綾?鍜?闈欐佸瓨鍌ㄧ被"
聽 auto鍜宺egister鐢ㄤ簬澹版槑鑷姩瀛樺偍綾葷殑鍙橀噺錛屾綾誨彉閲忔槸鍦ㄨ繘鍏ュ0鏄庣殑鍧楁椂鍒涘緩鐨勶紝瀹冧滑鍙瓨鍦ㄤ笌鍧楄嬋媧葷殑鏈熼棿錛屽綋紼嬪簭鎵ц閫鍑哄潡鏃訛紝榪欎簺鍙橀噺灝變細琚垹闄ゃ?br />
聽 鍙湁鍙橀噺鍙互浣滀負鑷姩瀛樺偍綾伙紝鍑芥暟鐨勫眬閮ㄥ彉閲忓拰鍙傛暟閫氬父灞炰簬鑷姩瀛樺偍綾?/font>銆?br />
聽聽聽聽 auto double x, y;
聽聽 娉ㄦ剰錛氱敤鑷姩瀛樺偍鍙互鑺傜渷鍐呭瓨錛屾垜鍋氱▼搴忕殑瀹楁棬灝辨槸綆鍗曟湁鏁堢殑鏄嬌鐢ㄥ唴瀛橈紝涓轟簡鑳芥湁鏁堢殑浣跨敤鍐呭瓨錛?br />鎴戦兘鏄敖閲忔湁鏁堢殑瑙勫垝鎴戠殑璧勬簮.
聽聽 瀵規瘮auto,register 鍙兘闅忓眬閮ㄥ彉閲忓拰鍑芥暟鍙傛暟涓璧蜂嬌鐢?/font>銆?br />
聽聽聽聽 register int x = 1;
聽 聽
聽聽聽 鍏抽敭瀛梕xtern 鍜?static 鏄敤浜庡0鏄庡彉閲忓拰闈欐佸瓨鍌ㄧ被鍑芥暟鐨勮鏄庣錛屽畠浠瓨鍦ㄤ簬紼嬪簭寮濮嬫墽琛屾椂錛岀▼搴忓湪寮濮嬫椂灝變負瀹冧滑鍒嗛厤浜嗗垵濮嬪寲鐨勫瓨鍌ㄧ┖闂達紝浣嗗茍涓嶆剰鍛崇潃榪欎簺鏍囪瘑絎﹀彲鐢ㄤ簬鏁翠釜紼嬪簭涓紝鍏惰繕鏈変綔鐢ㄥ煙鐨勭害鏉?銆?/font>
]]>
聽聽聽聽 鍚岀被鍨嬩負float鐨勫彉閲忕浉姣旓紝綾誨瀷涓篸ouble鐨勫彉閲忓彲淇濆瓨鐨勫艱緝澶т笖杈冧負鍑嗙‘錛屽洜姝ゆ垜姣旇緝鍠滄浣跨敤double鑰屼笉鏄痜loat.榪欓噷鏈変竴涓噸瑕佺殑鐐硅璇翠竴涓嬶細姣斿鎴戜滑瀹氫箟涓や釜鍙橀噺
聽聽聽聽 int sum = 1230;
聽聽聽聽 int score = 230;
聽聽聽聽 double avrg聽 = 0.0f;
聽聽聽聽 濡傛灉鎴戜滑鐢細
聽聽聽聽 avrg = sum/score;
聽聽聽聽 鍏朵腑錛坰um/score錛夎繖涓綆楃粨鏋滄槸涓涓暣鍨? 鍥犱負sum鍜宻core閮芥槸鏁村瀷銆傚湪榪欐牱鐨勮綆椾腑銆傚皬鏁伴儴鍒嗕細
聽聽聽 涓㈠け錛屽洜姝++鎻愪緵浜嗕竴鍏冨己鍒剁被鍨嬭漿鎹?br />聽聽聽聽 avrg = static_cast< double > ( sum ) / score;
聽聽聽 static_cast < double > (), 榪欎綅sum鍒涘緩浜嗕竴涓復鏃舵х殑嫻偣鏁板壇鏈紝榪欏氨鏄垜浠鐨勬樉寮忚漿鎹€傚姣旀樉寮忚漿鎹紝褰撶劧灝辨槸闅愬紡杞崲錛屼緥濡傚綋score 琚彁鍗囦負double鍚庯紝寮濮嬫墽琛屾誕鐐歸櫎娉曡繍綆椼?/font>
聽聽聽 鐒跺悗鎴戜滑杈撳嚭
聽聽聽 cout << "aver is " << setprecision(2)
聽聽聽聽聽聽聽聽聽聽聽 <<setiosflags( ios::fixedm ios::showpoint )
聽聽聽聽聽聽聽聽聽聽聽 << avrg <<endl;
聽聽 setprecision(2) 鏄縐頒綔鍙傛暟鍖栨搷浣滃厓鐨勪笢瑗匡紝瑕佸姞涓鏉¢緙栬瘧鎸囦護
聽聽 #include <iomanip>
聽聽 endl鏄竴涓潪鍙傛暟鍖栨搷綰靛厓錛屽畠涓嶉渶瑕?lt;iomanip>澶存枃浠訛紝濡傛灉鏈寚瀹氱簿搴︼紝嫻偣鍊間細閲囩敤6涓簿搴?榛樿)杈撳嚭銆?br />聽聽 娉ㄦ剰涓嶈鎰氳牏鐨勬兂姣旇緝涓や釜嫻偣鏁版槸鍚︾浉絳夛紝搴旇嫻嬭瘯涓や釜嫻偣鏁扮殑宸肩殑緇濆鍊兼槸鍚﹀皬浜庝竴涓寚瀹氱殑灝忓箋傝繖涓鐐瑰湪娓告垙鐨勫潗鏍囪窡韙腑甯歌鐢ㄥ埌銆?/font>
# include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::ios;
# include <iomanip>
using std::setprecision;
using std::setiosflags;
int main()
{
聽聽聽 int score = 0;
聽聽聽 int sum = 0;
聽聽聽 int count = 0;
聽聽聽 double avrg;
聽聽聽 cout<<"enter score - to end: ";
聽聽聽 cin>>score;
聽聽聽 while ( score != -1 )
聽聽聽 {
聽聽聽聽聽聽聽 sum = sum + score;
聽聽聽聽聽聽聽 count = count + 1;
聽聽聽聽聽聽聽 cout<< "enter score , -1 to end : ";
聽聽聽聽聽聽聽 cin>>score;
聽聽聽 }
聽聽聽 if( count != 0 )
聽聽聽 {
聽聽聽聽聽聽聽 avrg = static_cast< double > (sum ) / count;
聽聽聽聽聽聽聽 cout << "avrg is " << setprecision(2)
聽聽聽聽聽聽聽聽聽聽聽 << setiosflags(ios::fixed | ios::showpoint )
聽聽聽聽聽聽聽聽聽聽聽 << avrg << endl;
聽聽聽 }
聽聽聽 else
聽聽聽 {聽聽聽 cout << " NO!!!!!";
聽聽聽 }
聽聽聽 return 0;
}
enter score - to end: 75
enter score , -1 to end : 93
enter score , -1 to end : 23
enter score , -1 to end : 98
enter score , -1 to end : 43
enter score , -1 to end : 54
enter score , -1 to end : 56
enter score , -1 to end : 2334
enter score , -1 to end : 45
enter score , -1 to end : 43
enter score , -1 to end : 454
enter score , -1 to end : 232
enter score , -1 to end : -1
avrg is 295.83
]]>