锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
璨屼技濂戒箙娌℃湁鑷繁鍐欒繃blog浜嗭紝瀵逛簬鑷繁榪欐牱涓涓仴蹇樼殑浜猴紝鏂囬噰鍙堣繖涔堝樊鐨勪漢鏉ヨ錛屾濂藉熻繖涓満浼?xì)閿荤傞g竴涓嬭嚜宸辯殑鏂囧瓧鑳藉姏錛屽悓鏃惰褰曚笅瀛﹁繃鐨勪笢瑗褲?/p>
璨屼技鐢ㄨ繃C++涔熷ソ涔呬簡錛岀鍒拌繖涓棶棰橈紝寮濮嬬‘瀹炴劅瑙夊埌鏃犲姏錛屾渶鍚庤繕鏄悳绱簡涓嬪埆浜烘槸鎬庝箞鍋氱殑銆傛嵁璇存槸Adobe 07騫寸殑闈㈣瘯棰樸?/p>
1銆佺涓鎯蟲硶澶у閮芥槸錛屾棦鐒朵笉鑳借緇ф壙錛屼篃灝辨槸涓鏃︾戶鎵胯繖涓被涔嬪悗錛岀被灝變笉鑳借鍒濆鍖栥?/p>
2銆佸彲鑳芥妸綾葷殑鏋勯犲嚱鏁扮鏈夊寲錛屽拰鍗曚緥鏈夌偣鍍忥紝浣嗘槸榪欐牱綾誨氨涓嶈兘姝e父浣跨敤浜嗐?/p>
3銆佸疄鍦ㄦ棤鍔涳紝鏌ヤ簡涓嬶紝浠栦滑鏄氳繃浣跨敤铏氱戶鎵胯В鍐寵繖涓棶棰樼殑銆?/p>
瀵逛簬铏氱戶鎵匡紝鍏蜂綋璧勬枡瑙侊細(xì)http://blog.163.com/xiangzaihui@126/blog/static/166955749201182294317243/
閲岄潰鏈変竴鍙ヨ瘽寰堥噸瑕侊細(xì)C++瑙勫畾:鎶婄湡姝e垱寤哄璞℃椂鎵鎸囧畾鐨勭被縐頒負(fù)鏄渶媧劇敓綾?铏氬熀綾誨瓙瀵硅薄鏄敱鏈媧劇敓綾葷殑鏋勯犲嚱鏁伴氳繃璋冪敤铏氬熀綾葷殑鏋勯犲嚱鏁拌繘琛屽垵濮嬪寲鐨?
鍏蜂綋瀹炵幇浠g爜濡備笅錛?/p>
1: #include <cstdio>
2: #include <iostream>
3:
4: template<class T> class CFinal{
5: friend T;
6: private:
7: CFinal(){ std::cout << "CFinal()" << std::endl; }
8: ~CFinal(){}
9: };
10:
11: class CFoo : virtual public CFinal<CFoo>{
12: public:
13: CFoo(){ std::cout << "CFoo()" << std::endl; }
14: ~CFoo(){}
15: };
16:
17: class CBar : public CFoo{
18: public:
19: CBar() { std::cout << "CBar" << std::endl; }
20: };
21:
22: int main()
23: {
24: //CBar bar;
25: CFoo foo;
26: while(1){}
27: return 0;
28: }
褰撲綘鍒涘緩CBar鏃訛紝闇瑕佸垵濮嬪寲CFinal錛屼絾鏄綘涓嶆槸浠栫殑friend錛屼笉鑳藉垵濮嬪寲錛堜笂闈㈡爣綰級
濡傛灉浣犱細(xì)闂笉瑕乿irtual琛屼笉琛岋紵
涓嶈錛岀敱浜庝笉瑕乿irtual錛屼綘鍙互緇忚繃CFoo鐨刦riend璁塊棶鍒癈Final錛屼絾鏄湁virtual灝變笉鍚屼簡錛屼綘蹇呴』鐩存帴鍒濆鍖朇Final錛堣繖鏄疌++鐨勮瀹氾紝閬垮厤澶氭鍒濆鍖栵級
浣嗘槸鏈変釜闂錛実cc涓嶈兘緙栬瘧閫氳繃錛屽湪friend T鍑洪敊錛寁s2010娌℃湁闂錛屽笇鏈涚煡閬撶殑鑳界粰鐐瑰府鍔┿?/p>
鍙傝冩枃鐚細(xì)
http://blog.163.com/xiangzaihui@126/blog/static/166955749201182295845689/錛圕++瀹炵幇涓嶈兘琚戶鎵跨殑綾伙級