C++關(guān)于構(gòu)造函數(shù)可向父類或者本類傳參的講解
前面我們學(xué)習(xí)了C++使用初始化列表的方式來(lái)初始化字段的方法:
http://www.dbjr.com.cn/article/153032.htm
這一節(jié)的原理和前面的差不多。
在C++的構(gòu)造函數(shù)中,子類繼承父類,那么,在創(chuàng)建一個(gè)子類成員時(shí),可以同時(shí)向父類或者子類的構(gòu)造函數(shù)進(jìn)行傳參,實(shí)現(xiàn)方法如下:
寫一個(gè)例子:mul_argc.c
#include <iostream> #include <cstring> using namespace std ; //英雄聯(lián)盟類 class Hero { private : int blood ; string name ; public : Hero(int blood = 100, string name = "man wang") { this->blood = blood ; this->name = name ; } ~Hero() { if(this->blood < 0){ cout << "Hero blood error!\n" << endl ; return ; } cout << "Hero name is:" << this->name << endl ; cout << "Hero blood is :" << this->blood << endl ; } }; //德瑪類,繼承于英雄類 class Dema : public Hero { private : int blood ; string name ; public : Dema(int blood , string name); ~Dema(); }; //在實(shí)現(xiàn)子類的構(gòu)造函數(shù)時(shí),可以同時(shí)向父類的構(gòu)造函數(shù)傳參 //例如這個(gè)例子的 : Hero(58,JS),相當(dāng)于向父類的構(gòu)造函數(shù)傳參 //當(dāng)然,子類也可以給本類的的成員傳參 Dema::Dema(int blood , string name) : Hero(89 , "JS") , blood(58) , name("dema") { this->name = name ; this->blood = blood ; } Dema::~Dema() { if(this->name != "dema"){ cout << "This Hero are no dema!" << endl; return ; } if(this->blood < 0){ cout << "Dema blood error!\n" << endl ; return ; } cout << "Dmea name is:" << this->name << endl ; cout << "Dema blood is :" << this->blood << endl ; } int main(int argc , char **argv) { Dema player1(79,"dema"); return 0 ; }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
C++?用紅黑樹模擬實(shí)現(xiàn)set、map的示例代碼
set、map的底層結(jié)構(gòu)是紅黑樹,它們的函數(shù)通過(guò)調(diào)用紅黑樹的接口來(lái)實(shí)現(xiàn),本文主要介紹了C++?用紅黑樹模擬實(shí)現(xiàn)set、map,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03C語(yǔ)言進(jìn)階數(shù)據(jù)的存儲(chǔ)機(jī)制完整版
這篇文章主要為大家完整的介紹了C語(yǔ)言進(jìn)階數(shù)據(jù)的存儲(chǔ)機(jī)制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-02-02C語(yǔ)言游戲項(xiàng)目球球大作戰(zhàn)實(shí)現(xiàn)流程
這篇文章主要為大家詳細(xì)介紹了如何用C語(yǔ)言實(shí)現(xiàn)流行游戲球球大作戰(zhàn),文中示例代碼介紹的非常詳細(xì),如果過(guò)程中有問(wèn)題在文末還有視頻講解,感興趣的小伙伴們可以參考一下2022-01-01C++?Boost?MultiArray簡(jiǎn)化使用多維數(shù)組庫(kù)
Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱2022-11-11C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單彈球游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02C語(yǔ)言實(shí)現(xiàn)單詞小助手改進(jìn)版
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)單詞小助手的改進(jìn)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10