C++關(guān)于構(gòu)造函數(shù)可向父類或者本類傳參的講解
前面我們學(xué)習(xí)了C++使用初始化列表的方式來初始化字段的方法:
http://www.dhdzp.com/article/153032.htm
這一節(jié)的原理和前面的差不多。
在C++的構(gòu)造函數(shù)中,子類繼承父類,那么,在創(chuàng)建一個子類成員時,可以同時向父類或者子類的構(gòu)造函數(shù)進(jìn)行傳參,實現(xiàn)方法如下:
寫一個例子: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();
};
//在實現(xiàn)子類的構(gòu)造函數(shù)時,可以同時向父類的構(gòu)造函數(shù)傳參
//例如這個例子的 : 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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
C++實現(xiàn)數(shù)據(jù)保留小數(shù)點后兩位的常見方法
在計算機(jī)程序中,保留小數(shù)點后兩位通常需要使用特定的函數(shù)或方法來實現(xiàn),本文給大家介紹了C++實現(xiàn)數(shù)據(jù)保留小數(shù)點后兩位的常見方法,并通過代碼講解的非常詳細(xì),需要的朋友可以參考下2025-03-03
C++ Template 基礎(chǔ)篇(一):函數(shù)模板詳解
這篇文章主要介紹了C++ Template函數(shù)模板,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
C++ 解引用與函數(shù)基礎(chǔ)詳解之內(nèi)存地址、調(diào)用方法及聲明
函數(shù)是C++ 中重要的編程概念,它們可以提高代碼的可重用性、可讀性和可維護(hù)性,本文介紹C++ 解引用與函數(shù)基礎(chǔ)詳解之內(nèi)存地址、調(diào)用方法及聲明,感興趣的朋友跟隨小編一起看看吧2024-04-04
C++基于遞歸和非遞歸算法判定兩個二叉樹結(jié)構(gòu)是否完全相同(結(jié)構(gòu)和數(shù)據(jù)都相同)
這篇文章主要介紹了C++基于遞歸和非遞歸算法判定兩個二叉樹結(jié)構(gòu)是否完全相同,若判斷二叉樹的結(jié)構(gòu)和數(shù)據(jù)都相同則為完全相同.涉及C++二叉樹的創(chuàng)建、遍歷、比較等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05

