C++的class可以獲得其他類別的member,此方式為「繼承」。
Input: 父親的財產、兒子的財產
Process: 兒子繼承父親的財產
Ouput: 兒子的所有財產
#include <iostream>
using namespace std;
class Father
{
private:
int Money;
public:
Father(){
Money = 0;
}
void setfaMoney(int _money)
{
Money = _money;
}
int getFatherMoney()
{
return Money;
}
};
class Son : public Father /*注意!!繼承的class前面要附加繼承方式,有public、protected、private三種,代表繼承下來的member要採用哪種保護方式(而保護的程度只有越來越嚴謹,不能變寬鬆) */
{
private:
int Money2;
public:
Son(){
Money2 = 0;
}
void setsoMoney(int _money)
{
Money2 = _money+getFatherMoney();
}
int getSonMoney()
{
return Money2;
}
};
int main()
{
int papaMoney,sonMoney;
cin>>papaMoney>>sonMoney;
Son Child;
Child.setfaMoney(papaMoney);
Child.setsoMoney(sonMoney);
cout<<Child.getSonMoney()<<endl;
return 0;
}
【多層繼承】
Input: 祖父的財產、父親的財產、兒子的財產
Process: 兒子繼承父親及祖父的財產
Ouput: 兒子的所有財產
#include <iostream>
using namespace std;
class Gfather
{
private:
int money;
public:
void setGFaMoney(int tmp_money)
{
money = tmp_money;
}
int getGFaMoney()
{
return money;
}
};
class Father:public Gfather
{
private:
int money2;
public:
void setFaMoney(int tmp_money)
{
money2 = tmp_money;
}
int getFaMoney()
{
return money2;
}
};
class Son:public Father
{
private:
int money3;
public:
void setSonMoney(int tmp_money)
{
money3 = tmp_money+getFaMoney()+getGFaMoney();
}
int getSonMoney()
{
return money3;
}
};
int main()
{
int Money1,Money2,Money3;
cin>>Money1>>Money2>>Money3;
Son person01;
person01.setGFaMoney(Money1);
person01.setFaMoney(Money2);
person01.setSonMoney(Money3);
cout<<person01.getSonMoney()<<endl;
return 0;
}
留言列表