2銆佷負浠涔堣寮曞叆static?
鍑芥暟鍐呴儴瀹氫箟鐨勫彉閲忥紝鍦ㄧ▼搴忔墽琛屽埌瀹冪殑瀹氫箟澶勬椂錛岀紪璇戝櫒涓哄畠鍦ㄦ爤涓婂垎閰嶇┖闂達紝澶у鐭ラ亾錛屽嚱鏁板湪鏍堜笂鍒嗛厤鐨勭┖闂村湪姝ゅ嚱鏁版墽琛岀粨鏉熸椂浼氶噴鏀炬帀錛岃繖鏍峰氨浜х敓浜嗕竴 涓棶棰? 濡傛灉鎯沖皢鍑芥暟涓鍙橀噺鐨勫間繚瀛樿嚦涓嬩竴嬈¤皟鐢ㄦ椂錛屽浣曞疄鐜幫紵 鏈瀹規(guī)槗鎯沖埌鐨勬柟娉曟槸瀹氫箟涓涓叏灞鐨勫彉閲忥紝浣嗗畾涔変負涓涓叏灞鍙橀噺鏈夎澶氱己鐐癸紝鏈鏄庢樉鐨勭己鐐規(guī)槸鐮村潖浜嗘鍙橀噺鐨勮闂寖鍥達紙浣垮緱鍦ㄦ鍑芥暟涓畾涔夌殑鍙橀噺錛屼笉浠呬粎鍙楁 鍑芥暟鎺у埗錛夈?/p>
3銆佷粈涔堟椂鍊欑敤static?
闇瑕佷竴涓暟鎹璞′負鏁翠釜綾昏岄潪鏌愪釜瀵硅薄鏈嶅姟,鍚屾椂鍙堝姏姹備笉鐮村潖綾葷殑灝佽鎬?鍗寵姹傛鎴愬憳闅愯棌鍦ㄧ被鐨勫唴閮紝瀵瑰涓嶅彲瑙併?/p>
4銆乻tatic鐨勫唴閮ㄦ満鍒訛細
闈欐佹暟鎹垚鍛樿鍦ㄧ▼搴忎竴寮濮嬭繍琛屾椂灝卞繀欏誨瓨鍦ㄣ傚洜涓哄嚱鏁板湪紼嬪簭榪愯涓璋冪敤錛屾墍浠ラ潤鎬佹暟鎹垚鍛樹笉鑳藉湪浠諱綍鍑芥暟鍐呭垎閰嶇┖闂村拰鍒濆鍖栥?br> 榪欐牱錛屽畠鐨勭┖闂村垎閰嶆湁涓変釜鍙兘鐨勫湴鏂癸紝涓鏄綔涓虹被鐨勫閮ㄦ帴鍙g殑澶存枃浠訛紝閭i噷鏈夌被澹版槑錛涗簩鏄被瀹氫箟鐨勫唴閮ㄥ疄鐜幫紝閭i噷鏈夌被鐨勬垚鍛樺嚱鏁板畾涔夛紱涓夋槸搴旂敤紼嬪簭鐨刴ain錛堬級鍑芥暟鍓嶇殑鍏ㄥ眬鏁版嵁澹版槑鍜屽畾涔夊銆?br> 闈欐佹暟鎹垚鍛樿瀹為檯鍦板垎閰嶇┖闂達紝鏁呬笉鑳藉湪綾葷殑澹版槑涓畾涔夛紙鍙兘澹版槑鏁版嵁鎴愬憳錛夈傜被澹版槑鍙0鏄庝竴涓被鐨?#8220;灝哄鍜岃鏍?#8221;錛屽茍涓嶈繘琛屽疄闄呯殑鍐呭瓨鍒嗛厤錛屾墍浠ュ湪綾誨0 鏄庝腑鍐欐垚瀹氫箟鏄敊璇殑銆傚畠涔熶笉鑳藉湪澶存枃浠朵腑綾誨0鏄庣殑澶栭儴瀹氫箟錛屽洜涓洪偅浼氶犳垚鍦ㄥ涓嬌鐢ㄨ綾葷殑婧愭枃浠朵腑錛屽鍏墮噸澶嶅畾涔夈?br> static琚紩鍏ヤ互鍛婄煡緙栬瘧鍣紝灝嗗彉閲忓瓨鍌ㄥ湪紼嬪簭鐨勯潤鎬佸瓨鍌ㄥ尯鑰岄潪鏍堜笂絀洪棿錛岄潤鎬?br>鏁版嵁鎴愬憳鎸夊畾涔夊嚭鐜扮殑鍏堝悗欏哄簭渚濇鍒濆鍖栵紝娉ㄦ剰闈欐佹垚鍛樺祵濂楁椂錛岃淇濊瘉鎵宓屽鐨勬垚鍛樺凡緇忓垵濮嬪寲浜嗐傛秷闄ゆ椂鐨勯『搴忔槸鍒濆鍖栫殑鍙嶉『搴忋?/p>
5銆乻tatic鐨勪紭鍔匡細
鍙互鑺傜渷鍐呭瓨錛屽洜涓哄畠鏄墍鏈夊璞℃墍鍏湁鐨勶紝鍥犳錛屽澶氫釜瀵硅薄鏉ヨ錛岄潤鎬佹暟鎹垚鍛樺彧瀛樺偍涓澶勶紝渚涙墍鏈夊璞″叡鐢ㄣ傞潤鎬佹暟鎹垚鍛樼殑鍊煎姣忎釜瀵硅薄閮芥槸涓鏍鳳紝浣嗗畠鐨?鍊兼槸鍙互鏇存柊鐨勩傚彧瑕佸闈欐佹暟鎹垚鍛樼殑鍊兼洿鏂頒竴嬈★紝淇濊瘉鎵鏈夊璞″瓨鍙栨洿鏂板悗鐨勭浉鍚岀殑鍊鹼紝榪欐牱鍙互鎻愰珮鏃墮棿鏁堢巼銆?/p>
6銆佸紩鐢ㄩ潤鎬佹暟鎹垚鍛樻椂錛岄噰鐢ㄥ涓嬫牸寮忥細
<綾誨悕>::<闈欐佹垚鍛樺悕>
濡傛灉闈欐佹暟鎹垚鍛樼殑璁塊棶鏉冮檺鍏佽鐨勮瘽(鍗硃ublic鐨勬垚鍛?錛屽彲鍦ㄧ▼搴忎腑錛屾寜涓婅堪鏍煎紡
鏉ュ紩鐢ㄩ潤鎬佹暟鎹垚鍛樸?/p>
7銆佹敞鎰忎簨欏癸細
(1)綾葷殑闈欐佹垚鍛樺嚱鏁版槸灞炰簬鏁翠釜綾昏岄潪綾葷殑瀵硅薄錛屾墍浠ュ畠娌℃湁this鎸囬拡錛岃繖灝卞鑷?br>浜嗗畠浠呰兘璁塊棶綾葷殑闈欐佹暟鎹拰闈欐佹垚鍛樺嚱鏁般?br> (2)涓嶈兘灝嗛潤鎬佹垚鍛樺嚱鏁板畾涔変負铏氬嚱鏁般?br> (3)鐢變簬闈欐佹垚鍛樺0鏄庝簬綾諱腑錛屾搷浣滀簬鍏跺錛屾墍浠ュ鍏跺彇鍦板潃鎿嶄綔錛屽氨澶氬皯鏈変簺鐗規(guī)畩
錛屽彉閲忓湴鍧鏄寚鍚戝叾鏁版嵁綾誨瀷鐨勬寚閽?錛屽嚱鏁板湴鍧綾誨瀷鏄竴涓?#8220;nonmember鍑芥暟鎸囬拡”銆?/p>
(4)鐢變簬闈欐佹垚鍛樺嚱鏁版病鏈塼his鎸囬拡錛屾墍浠ュ氨宸笉澶氱瓑鍚屼簬nonmember鍑芥暟錛岀粨鏋滃氨
浜х敓浜嗕竴涓剰鎯充笉鍒扮殑濂藉錛氭垚涓轟竴涓猚allback鍑芥暟錛屼嬌寰楁垜浠緱浠ュ皢C++鍜孋-based X W
indow緋葷粺緇撳悎錛屽悓鏃朵篃鎴愬姛鐨勫簲鐢ㄤ簬綰跨▼鍑芥暟韜笂銆?br> (5)static騫舵病鏈夊鍔犵▼搴忕殑鏃剁┖寮閿錛岀浉鍙嶅ス榪樼緝鐭簡瀛愮被瀵圭埗綾婚潤鎬佹垚鍛樼殑璁塊棶
鏃墮棿錛岃妭鐪佷簡瀛愮被鐨勫唴瀛樼┖闂淬?br> (6)闈欐佹暟鎹垚鍛樺湪<瀹氫箟鎴栬鏄?gt;鏃跺墠闈㈠姞鍏抽敭瀛梥tatic銆?br> (7)闈欐佹暟鎹垚鍛樻槸闈欐佸瓨鍌ㄧ殑錛屾墍浠ュ繀欏誨瀹冭繘琛屽垵濮嬪寲銆?br> (8)闈欐佹垚鍛樺垵濮嬪寲涓庝竴鑸暟鎹垚鍛樺垵濮嬪寲涓嶅悓:
鍒濆鍖栧湪綾諱綋澶栬繘琛岋紝鑰屽墠闈笉鍔爏tatic錛屼互鍏嶄笌涓鑸潤鎬佸彉閲忔垨瀵硅薄鐩告販娣嗭紱
鍒濆鍖栨椂涓嶅姞璇ユ垚鍛樼殑璁塊棶鏉冮檺鎺у埗絎rivate錛宲ublic絳夛紱
鍒濆鍖栨椂浣跨敤浣滅敤鍩熻繍綆楃鏉ユ爣鏄庡畠鎵灞炵被錛?br> 鎵浠ユ垜浠緱鍑洪潤鎬佹暟鎹垚鍛樺垵濮嬪寲鐨勬牸寮忥細
<鏁版嵁綾誨瀷><綾誨悕>::<闈欐佹暟鎹垚鍛樺悕>=<鍊?gt;
(9)涓轟簡闃叉鐖剁被鐨勫獎鍝嶏紝鍙互鍦ㄥ瓙綾誨畾涔変竴涓笌鐖剁被鐩稿悓鐨勯潤鎬佸彉閲忥紝浠ュ睆钄界埗綾葷殑褰卞搷銆傝繖閲屾湁涓鐐歸渶瑕佹敞鎰忥細鎴戜滑璇撮潤鎬佹垚鍛樹負鐖剁被鍜屽瓙綾誨叡浜紝浣嗘垜浠湁 閲嶅瀹氫箟浜嗛潤鎬佹垚鍛橈紝榪欎細涓嶄細寮曡搗閿欒鍛紵涓嶄細錛屾垜浠殑緙栬瘧鍣ㄩ噰鐢ㄤ簡涓縐嶇粷濡欑殑鎵嬫硶錛歯ame-mangling 鐢ㄤ互鐢熸垚鍞竴鐨勬爣蹇椼?/p>
闈欐佹暟鎹垚鍛?br>
銆銆鍦ㄧ被涓紝闈欐佹垚鍛樺彲浠ュ疄鐜板涓璞′箣闂寸殑鏁版嵁鍏變韓錛屽茍涓斾嬌鐢ㄩ潤鎬佹暟鎹垚鍛樿繕涓嶄細鐮村潖闅愯棌鐨勫師鍒欙紝鍗充繚璇佷簡瀹夊叏鎬с傚洜姝わ紝闈欐佹垚鍛樻槸綾葷殑鎵鏈夊璞′腑鍏變韓鐨勬垚鍛橈紝鑰屼笉鏄煇涓璞$殑鎴愬憳銆?br>
浣跨敤闈欐佹暟鎹垚鍛樺彲浠ヨ妭鐪佸唴瀛橈紝鍥犱負瀹冩槸鎵鏈夊璞℃墍鍏湁鐨勶紝鍥犳錛屽澶氫釜瀵硅薄鏉ヨ錛岄潤鎬佹暟鎹垚鍛樺彧瀛樺偍涓澶勶紝渚涙墍鏈夊璞″叡鐢ㄣ傞潤鎬佹暟鎹垚鍛樼殑鍊煎姣忎釜 瀵硅薄閮芥槸涓鏍鳳紝浣嗗畠鐨勫兼槸鍙互鏇存柊鐨勩傚彧瑕佸闈欐佹暟鎹垚鍛樼殑鍊兼洿鏂頒竴嬈★紝淇濊瘉鎵鏈夊璞″瓨鍙栨洿鏂板悗鐨勭浉鍚岀殑鍊鹼紝榪欐牱鍙互鎻愰珮鏃墮棿鏁堢巼銆?br>
闈欐佹暟鎹垚鍛樼殑浣跨敤鏂規(guī)硶鍜屾敞鎰忎簨欏瑰涓嬶細
1銆侀潤鎬佹暟鎹垚鍛樺湪瀹氫箟鎴栬鏄庢椂鍓嶉潰鍔犲叧閿瓧static銆?br>
2銆侀潤鎬佹垚鍛樺垵濮嬪寲涓庝竴鑸暟鎹垚鍛樺垵濮嬪寲涓嶅悓銆傞潤鎬佹暟鎹垚鍛樺垵濮嬪寲鐨勬牸寮忓涓嬶細
<鏁版嵁綾誨瀷><綾誨悕>::<闈欐佹暟鎹垚鍛樺悕>=<鍊?gt;
榪欒〃鏄庯細
銆銆(1) 鍒濆鍖栧湪綾諱綋澶栬繘琛岋紝鑰屽墠闈笉鍔爏tatic錛屼互鍏嶄笌涓鑸潤鎬佸彉閲忔垨瀵硅薄鐩告販娣嗐?br>
(2) 鍒濆鍖栨椂涓嶅姞璇ユ垚鍛樼殑璁塊棶鏉冮檺鎺у埗絎rivate錛宲ublic絳夈?br>
(3) 鍒濆鍖栨椂浣跨敤浣滅敤鍩熻繍綆楃鏉ユ爣鏄庡畠鎵灞炵被錛屽洜姝わ紝闈欐佹暟鎹垚鍛樻槸綾葷殑鎴愬憳錛岃屼笉鏄璞$殑鎴愬憳銆?br>
3銆侀潤鎬佹暟鎹垚鍛樻槸闈欐佸瓨鍌ㄧ殑錛屽畠鏄潤鎬佺敓瀛樻湡錛屽繀欏誨瀹冭繘琛屽垵濮嬪寲銆?br>
4銆佸紩鐢ㄩ潤鎬佹暟鎹垚鍛樻椂錛岄噰鐢ㄥ涓嬫牸寮忥細
<綾誨悕>::<闈欐佹垚鍛樺悕>
濡傛灉闈欐佹暟鎹垚鍛樼殑璁塊棶鏉冮檺鍏佽鐨勮瘽(鍗硃ublic鐨勬垚鍛?錛屽彲鍦ㄧ▼搴忎腑錛屾寜涓婅堪鏍煎紡鏉ュ紩鐢ㄩ潤鎬佹暟鎹垚鍛樸?/p>
闈欐佹垚鍛樺嚱鏁?br>
銆銆闈欐佹垚鍛樺嚱鏁板拰闈欐佹暟鎹垚鍛樹竴鏍鳳紝瀹冧滑閮藉睘浜庣被鐨勯潤鎬佹垚鍛橈紝瀹冧滑閮戒笉鏄璞℃垚鍛樸傚洜姝わ紝瀵歸潤鎬佹垚鍛樼殑寮曠敤涓嶉渶瑕佺敤瀵硅薄鍚嶃?br>
鍦ㄩ潤鎬佹垚鍛樺嚱鏁扮殑瀹炵幇涓笉鑳界洿鎺ュ紩鐢ㄧ被涓鏄庣殑闈為潤鎬佹垚鍛橈紝鍙互寮曠敤綾諱腑璇存槑鐨勯潤鎬佹垚鍛樸傚鏋滈潤鎬佹垚鍛樺嚱鏁頒腑瑕佸紩鐢ㄩ潪闈欐佹垚鍛樻椂錛屽彲閫氳繃瀵硅薄鏉ュ紩鐢ㄣ?/p>
涓嬮潰鐪嬩竴涓緥瀛愶細
#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
}
};
void main( void )
{
Point pt;
pt.init();
pt.output();
}
榪欐牱緙栬瘧鏄笉浼氭湁浠諱綍閿欒鐨勩?br>涓嬮潰榪欐牱鐪?br>#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
}
};
void main( void )
{
Point::output();
}
榪欐牱緙栬瘧浼氬閿欙紝閿欒淇℃伅錛?a name=baidusnap0>illegalcallofnon-staticmemberfunction錛屼負浠涔堬紵
鍥犱負鍦ㄦ病鏈夊疄渚嬪寲涓涓被鐨勫叿浣撳璞℃椂錛岀被鏄病鏈夎鍒嗛厤鍐呭瓨絀洪棿鐨勩?br>濂界殑鍐嶇湅鐪嬩笅闈㈢殑渚嬪瓙:
#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
}
};
void main( void )
{
Point::init();
}
榪欐椂緙栬瘧灝變笉浼氭湁閿欒錛屽洜涓哄湪綾葷殑瀹氫箟鏃訛紝瀹冮潤鎬佹暟鎹拰鎴愬憳鍑芥暟灝辨湁浜嗗畠鐨勫唴瀛樺尯錛屽畠涓嶅睘浜庣被鐨勪換浣曚竴涓叿浣撳璞°?br>濂界殑鍐嶇湅鐪嬩笅闈㈢殑渚嬪瓙:
#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
x = 0;
y = 0;
}
private:
int x;
int y;
};
void main( void )
{
Point::init();
}
緙栬瘧鍑洪敊錛?br>illegal reference to data member 'Point::x' in a static memberfunction
illegal reference to data member 'Point::y' in a static memberfunction
鍦ㄤ竴涓潤鎬佹垚鍛樺嚱鏁伴噷閿欒鐨勫紩鐢ㄤ簡鏁版嵁鎴愬憳錛?br>榪樻槸閭d釜闂錛岄潤鎬佹垚鍛橈紙鍑芥暟錛夛紝涓嶅睘浜庝換浣曚竴涓叿浣撶殑瀵硅薄錛岄偅涔堝湪綾葷殑鍏蜂綋瀵硅薄澹版槑涔嬪墠灝卞凡緇忔湁浜嗗唴瀛樺尯錛?br>鑰岀幇鍦ㄩ潪闈欐佹暟鎹垚鍛樿繕娌℃湁鍒嗛厤鍐呭瓨絀洪棿錛岄偅涔堣繖閲岃皟鐢ㄥ氨閿欒浜嗭紝灝卞ソ鍍忔病鏈夊0鏄庝竴涓彉閲忓嵈鎻愬墠浣跨敤瀹冧竴鏍楓?br>涔熷氨鏄鍦ㄩ潤鎬佹垚鍛樺嚱鏁頒腑涓嶈兘寮曠敤闈為潤鎬佺殑鎴愬憳鍙橀噺銆?br>濂界殑鍐嶇湅鐪嬩笅闈㈢殑渚嬪瓙:
#include <iostream.h>
class Point
{
public:
void output()
{
x = 0;
y = 0;
init();
}
static void init()
{
}
private:
int x;
int y;
};
void main( void )
{
Point::init();
}
濂界殑錛岃繖鏍峰氨涓嶄細鏈変換浣曢敊璇傝繖鏈緇堣繕鏄竴涓唴瀛樻ā鍨嬬殑闂錛?br>浠諱綍鍙橀噺鍦ㄥ唴瀛樹腑鏈変簡鑷繁鐨勭┖闂村悗錛屽湪鍏朵粬鍦版柟鎵嶈兘琚皟鐢紝鍚﹀垯灝變細鍑洪敊銆?br>濂界殑鍐嶇湅鐪嬩笅闈㈢殑渚嬪瓙:
#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
x = 0;
y = 0;
}
private:
static int x;
static int y;
};
void main( void )
{
Point::init();
}
緙栬瘧錛?br>Linking...
test.obj : error LNK2001: unresolved external symbol "private: static int Point::y"
test.obj : error LNK2001: unresolved external symbol "private: static int Point::x"
Debug/Test.exe : fatal error LNK1120: 2 unresolved externals
鎵ц link.exe 鏃跺嚭閿?
鍙互鐪嬪埌緙栬瘧娌℃湁閿欒錛岃繛鎺ラ敊璇紝榪欏張鏄負浠涔堝憿錛?br>榪欐槸鍥犱負闈欐佺殑鎴愬憳鍙橀噺瑕佽繘琛屽垵濮嬪寲錛屽彲浠ヨ繖鏍鳳細
#include <iostream.h>////////////////////////(榪欐浠g爜榪樻湁鐤戦棶錛宨nit()涓殑x, y 鍜宻tatic 鐨剎 ,y 鏈夎仈緋誨悧錛?
class Point
{
public:
void output()
{
}
static void init()
{
x = 0;
y = 0;
}
private:
static int x;
static int y;
};
int Point::x = 0;
int Point::y = 0;
void main( void )
{
Point::init();
}
鍦ㄩ潤鎬佹垚鍛樻暟鎹彉閲忓垵濮嬪寲涔嬪悗灝變笉浼氬嚭鐜扮紪璇戦敊璇簡銆?br>鍐嶇湅鐪嬩笅闈㈢殑浠g爜錛?br>#include <iostream.h>
class Point
{
public:
void output()
{
}
static void init()
{
x = 0;
y = 0;
}
private:
static int x;
static int y;
};
void main( void )
{
}
緙栬瘧娌℃湁閿欒錛屼負浠涔堬紵
鍗充嬌浠栦滑娌℃湁鍒濆鍖栵紝鍥犱負鎴戜滑娌℃湁璁塊棶x錛寉錛屾墍浠ョ紪璇戜笉浼氬嚭閿欍?nbsp;
C++浼氬尯鍒嗕袱縐嶇被鍨嬬殑鎴愬憳鍑芥暟錛氶潤鎬佹垚鍛樺嚱鏁板拰闈為潤鎬佹垚鍛樺嚱鏁般傝繖涓よ呬箣闂寸殑涓涓噸澶у尯鍒槸錛岄潤鎬佹垚鍛樺嚱鏁頒笉鎺ュ彈闅愬惈鐨?em>this鑷彉閲忋傛墍浠ワ紝瀹冨氨鏃犳硶璁塊棶鑷繁綾葷殑闈為潤鎬佹垚鍛樸?/font>
鍦ㄦ煇浜涙潯浠朵笅錛屾瘮濡傝鍦ㄤ嬌鐢ㄨ濡俻thread錛堝畠涓嶆敮鎸佺被錛夋綾葷殑澶氱嚎紼嬪簱鏃訛紝灝卞繀欏諱嬌鐢ㄩ潤鎬佺殑鎴愬憳鍑芥暟錛屽洜涓哄叾鍦板潃鍚孋璇█鍑芥暟鐨勫湴鍧鍏煎銆傝繖縐嶉摐闄愬埗灝辮揩浣跨▼搴忓憳瑕佸埄鐢ㄥ悇縐嶈В鍐沖姙娉曟墠鑳藉浠庨潤鎬佹垚鍛樺嚱鏁拌闂埌闈為潤鎬佹暟鎹垚鍛樸?/font>
絎竴涓В鍐沖姙娉曟槸澹版槑綾葷殑鎵鏈夋暟鎹垚鍛橀兘鏄潤鎬佺殑銆傝繍鐢ㄨ繖縐嶆柟寮忕殑璇濓紝闈欐佺殑鎴愬憳鍑芥暟灝辮兘澶熺洿鎺ュ湴璁塊棶瀹冧滑錛屼緥濡傦細
class Singleton
{
public:
static Singleton * instance();
private:
Singleton * p;
static Lock lock;
};
Singleton * Singleton::instance()
{
lock.getlock(); // fine, lock is static
if (!p)
p=new Singleton;
lock.unlock();
return p;
}
榪欑瑙e喅鏂規(guī)硶涓嶉傜敤浜庨渶瑕佷嬌鐢ㄩ潪闈欐佹暟鎹垚鍛樼殑綾匯?/font>
璁塊棶闈為潤鎬佹暟鎹垚鍛?/font>
灝嗗弬鐓т紶閫掔粰闇瑕佽冮噺鐨勫璞¤兘澶熻闈欐佺殑鎴愬憳鍑芥暟璁塊棶鍒板璞$殑闈為潤鎬佹暟鎹細
class A
{
public:
static void func(A & obj);
intgetval() const; //non-staticmemberfunction
private:
intval;
};
闈欐佹垚鍛樺嚱鏁癴unc()浼氫嬌鐢ㄥ弬鐓?em>obj鏉ヨ闂潪闈欐佹垚鍛?em>val銆?/font>
voidA::func(A & obj)
{
int n = obj.getval();
}
灝嗕竴涓弬鐓ф垨鑰呮寚閽堜綔涓洪潤鎬佹垚鍛樺嚱鏁扮殑鑷彉閲忎紶閫掞紝灝辨槸鍦ㄦā浠胯嚜鍔ㄤ紶閫掗潪闈欐佹垚鍛樺嚱鏁伴噷this鑷彉閲忚繖涓琛屼負銆?/font>