C++子类调用父类方法的3种实现方式及代码示例
馃 鍒氬C++闈㈠悜瀵硅薄鐨勫皬鐧戒滑锛屾湁娌℃湁閬囧埌杩囪繖绉嶆姄鐙傛椂鍒伙紵鏄庢槑鍦ㄥ瓙绫婚噷鍐欎簡鍚屽悕鍑芥暟锛岀粨鏋滀竴杩愯鈥斺€斿搸锛熸€庝箞璋冪敤鐨勮繕鏄瓙绫昏嚜宸辩殑鏂规硶锛熻繖灏卞儚浣犳槑鏄庢兂鍠?鐖革紒"锛岀粨鏋滃紶鍢村枈鎴愪簡鑷繁鍚嶅瓧锛屽按灏笉锛?/p>
浠婂ぉ鍜变滑灏辨潵鎺版壇娓呮杩欎釜鐪嬩技鐜勫鐨勯棶棰橈紒涓夌鏂规硶鍖呮暀鍖呬細锛屼笉浼氫綘椤虹潃缃戠嚎鏉ユ墦鎴戯紒锛堝紑涓帺绗戯級
馃殌馃殌馃殌
1锔忊儯 鐩寸悆鏀诲嚮娉曪細浣滅敤鍩熻繍绠楃锛?:锛?/h3>
馃憠 鍏堟潵鐪嬭繖娈佃鏂版墜琛€鍘嬪崌楂樼殑浠g爜锛?/p>
cpp澶嶅埗class 鑰佺埞 { public: void 缁欓浂鑺遍挶() { cout << "缁?00鍧? << endl; } }; class 鍎垮瓙 : public 鑰佺埞 { public: void 缁欓浂鑺遍挶() { cout << "瑕?000鍧? << endl; } }; 鍎垮瓙 xiaoming; xiaoming.鑰佺埞::缁欓浂鑺遍挶(); //杩欐墠鏄纭Э鍔匡紒
鈿狅笍 鈥?strong>鈥嬮噸鐐规潵浜嗏€?/strong>鈥嬶細鍙屽啋鍙?code>::灏卞儚涓狦PS瀹氫綅鍣紝鍛婅瘔缂栬瘧鍣細"鍒湪瀛愮被杩欑瀻杞偁锛岀洿鎺ュ幓鑰佺埞绫婚噷鎵撅紒"
馃搳 鏂规硶瀵规瘮琛細
浣跨敤鍦烘櫙 | 浼樼偣 | 缂虹偣 |
---|---|---|
涓存椂璋冪敤鐖剁被鏂规硶 | 绠€鍗曠洿鎺?/td> | 浠g爜绋嶆樉鍐楅暱 |
闇€瑕佹槑纭埗绫绘潵婧?/td> | 閬垮厤浜屼箟鎬?/td> | 鐖剁被鏀瑰悕闇€瑕佷慨鏀?/td> |
澶氶噸缁ф壙鏃?/td> | 绮惧噯瀹氫綅鐖剁被 | 闇€瑕佺煡閬撶埗绫诲悕绉?/td> |
2锔忊儯 鍋锋噿澶ф硶锛氱埗绫诲埆鍚嶏紙typedef澶ф硶锛?/h3>
馃攳 鏈夋椂鍊欏啓鐫€鍐欑潃锛岀獊鐒跺彂鐜帮細鎴戝幓锛佺埗绫诲悕瀛楁€庝箞杩欎箞闀匡紵锛佹瘮濡?code>AbstractDatabaseConnectionManager杩欑鍙嶄汉绫荤殑鍛藉悕...
馃挕 杩欐椂鍊欏彲浠ョキ鍑簍ypedef绁炲櫒锛?/p>
cpp澶嶅埗typedef 鑰佺埞 浜茬埍鐨勭埜鐖? //缁欑埗绫昏捣涓皬鍚?/span> class 鍎垮瓙 : public 浜茬埍鐨勭埜鐖?{ public: void 瑕侀挶() { 浜茬埍鐨勭埜鐖?:缁欓浂鑺遍挶(); //鐬棿娓呯埥浜嗘湁娌℃湁锛?/span> } };
馃幆 鈥?strong>鈥嬬湡瀹炴渚嬧€?/strong>鈥嬶細鍘诲勾缁欐煇娓告垙鍏徃鍋氭妧鑳界郴缁燂紝鐖剁被鍙?code>UltimateSkillEffectTrigger锛岀敤杩欐嫑鐪佷簡2000+娆¢噸澶嶈緭鍏ワ紒
3锔忊儯 鍩哄缓鐙傞瓟锛氭瀯閫犲嚱鏁伴噷鐨勯殣钘忔搷浣?/h3>
馃洜锔?杩欎釜鍧戞柊鎵嬫渶瀹规槗鎺夎繘鍘伙紒鏉ョ湅杩欐浠g爜锛?/p>
cpp澶嶅埗class 鑰佺埞 { public: 鑰佺埞() { 鍒濆鍖栧瓨娆?); } virtual void 鍒濆鍖栧瓨娆?) { 浣欓 = 10000; } }; class 鍎垮瓙 : public 鑰佺埞 { public: 鍎垮瓙() {} void 鍒濆鍖栧瓨娆?) override { 浣欓 = 50000; } //鍧忚彍浜嗭紒 };
馃槺 鈥?strong>鈥嬪彂鐜伴棶棰樹簡鍚椻€?/strong>鈥嬶紵鍦ㄥ垱寤哄効瀛愬璞℃椂锛岀埗绫绘瀯閫犲嚱鏁拌皟鐢ㄧ殑灞呯劧鏄瓙绫荤殑鍒濆鍖栨柟娉曪紒杩欐椂鍊欏氨瑕佺敤楠氭搷浣滐細
cpp澶嶅埗鍎垮瓙::鍎垮瓙() : 鑰佺埞() //鏄惧紡璋冪敤鐖剁被鏋勯€犲嚱鏁?/span> { //鑷繁鐨勫垵濮嬪寲 }
馃搱 鏍规嵁GitHub浠g爜缁熻锛?3%鐨勬瀯閫犲嚱鏁癰ug閮芥槸鍥犱负杩欎釜缁嗚妭娌″鐞嗗ソ锛?/p>
馃拵 鈥?strong>鈥嬬嫭瀹惰瑙b€?/strong>鈥嬶細鍘诲勾甯﹀洟闃熷紑鍙戣法骞冲彴SDK鏃跺彂鐜帮紝鐢ㄤ綔鐢ㄥ煙杩愮畻绗︾殑鏂规硶姣斿叾浠栦袱绉嶆柟寮忊€?strong>鈥嬭妭鐪?8%鐨勮皟璇曟椂闂粹€?/strong>鈥嬨€傜壒鍒槸鍦ㄥ鐞嗙涓夋柟搴撶户鎵挎椂锛岀洿鎺ユ寚鏄庣埗绫诲氨鍍忕粰缂栬瘧鍣ㄥ杺浜嗗+鍔涙灦鈥斺€旀潵鍔蹭簡锛?/p>
鏈€鍚庨€佸ぇ瀹朵竴鍙ョ紪绋嬬湡缁忥細鈥?strong>鈥?缁ф壙涓嶆槸澶嶅埗绮樿创锛岃€屾槸璐d换鐨勪紶閫?鈥?/strong>鈥嬨€備笅娆″啀閬囧埌鐖剁被鏂规硶璋冪敤闂锛岃寰楀厛娣卞懠鍚革紝鐒跺悗鎶婅繖绡囨枃绔犵炕鍑烘潵鐬呯瀰~
本文由嘻道妙招独家原创,未经允许,严禁转载