您好,登錄后才能下訂單哦!
這篇文章主要介紹了C++中構造函數向父類或者本類傳參的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在C++的構造函數中,子類繼承父類,那么,在創建一個子類成員時,可以同時向父類或者子類的構造函數進行傳參,實現方法如下:
寫一個例子:mul_argc.c
#include <iostream> #include <cstring> using namespace std ; //英雄聯盟類 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(); }; //在實現子類的構造函數時,可以同時向父類的構造函數傳參 //例如這個例子的 : Hero(58,JS),相當于向父類的構造函數傳參 //當然,子類也可以給本類的的成員傳參 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 ; }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C++中構造函數向父類或者本類傳參的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。