#include <QCoreApplication>
class Bank
{
public:
void QuHao()
{
qDebug() << "请前排取号" << Qt::endl;
}
void PingJia()
{
qDebug() << "请对本次服务进行评价" << Qt::endl;
}
virtual void CaoZuo() = 0;
void Process()
{
this->QuHao();
this->CaoZuo();
this->PingJia();
}
};
class Deposit : public Bank
{
public:
void CaoZuo()
{
qDebug() << "小码路存入银行30万元" << Qt::endl;
}
};
class Transfer : public Bank
{
void CaoZuo()
{
qDebug() << "小码路向朋友转账20万元" << Qt::endl;
}
};
class Withdraw : public Bank
{
void CaoZuo()
{
qDebug() << "小码路的朋友取走20万元" << Qt::endl;
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Bank *bank = new Deposit();
bank->Process();
delete bank;
Bank *bank1 = new Transfer();
bank1->Process();
delete bank1;
Bank* bank2 = new Withdraw();
bank2->Process();
delete bank2;
return a.exec();
}