首页 > 开发 > C++ > 正文

C++重写虚函数的问题

2017-09-11 21:35:23  来源: 网友分享
Card* Bank::CreateCard(char *name, char *password, int cardType){    int cardID;    Card *newCard;    if(cardType == 2)    {        CreditCard creditCard(CardNum, name, password);        cards[CardNum] = creditCard;        newCard = &creditCard;        newCard->Deposit(20);  //  这里会调用 CreditCard 的 Despoit()    }    else    {        return NULL;    }    newCard->Deposit(20);  //  这里会调用 Card 的 Despoit()    return newCard;}

如上,注释所描述的,为什么底部的 newCard 不会调用子类 CreditCard 的 Despoit(),刚学 C++,一直找不到解决方法,先谢了。。。

解决方案

creditCard超出作用域了!已经被析构了!