由抽象类继承而来的派生类的构造函数的问题,请看代码

lsk_30516 lsk_30516 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我这个代码总是有一个错误,就是实例化派生类对象的时候,不知道派生类的对象是怎么调用基类的构造函数的,是什么顺序,反正就是派生类是如何构造的地方有点不太清楚,请各位指点以下。

#define max 100000
#include <iostream.h>
#include "Card.cpp"

class ATM //定义一个自动取款机的抽象类
{
protected:
Card myCard; //Card类的对象作为私有数据成员
float totalmoney; //取款机总钱数

public:
ATM(Card& card) : myCard(card)
{
totalmoney = max;
}

virtual bool Fetchmoney(float money) = 0;

virtual ~ATM()
{

}

};

class IndustryATM: public ATM //派生一个工商银行的类
{

bool Fetchmoney(float money)
{
if(myCard.GetCardType() == industry)
{
totalmoney = totalmoney - money;

if(myCard.ChangeMoney(money))
return true;
}
else
{
cout<<"非农业银行卡,需缴纳1%的手续费!"<<endl;

totalmoney = totalmoney - money;
money = money + money * 0.01;

if(myCard.ChangeMoney(money))
return true;
}
}
};

int main()
{
Card card("123",500,China); //实例化一个中国银行的卡密码123,现金500
IndustryATM myATM(card);//就是这里的问题老出现一个错误,不知到是怎么个构造顺序
return 1;
}
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
lsk_30516
C++ 语言 65,214 成员 250,514 内容