f1511.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //=====================================
  2. // f1511.cpp
  3. // 引用的动态转型
  4. //=====================================
  5. #include<iostream>
  6. #include<typeinfo>
  7. using namespace std;
  8. #include"savings_bro.h"
  9. #include"checking_bro.h"
  10. #include"accountlist.h"
  11. //-------------------------------------
  12. int main(){
  13.   Savings s1("3277",3000), s2("3279", 5000);
  14.   Checking c1("888"), c2("398", 10000);
  15.   AccountList a;
  16.   a.add(s1);  a.add(s2);
  17.   a.add(c1);  a.add(c2);
  18.   Account* p;
  19.   if(p = a.find("3277")) p->deposit(100);
  20.   if(p = a.find("888"))  p->deposit(2000);
  21.   if(p = a.find("3279")) p->withdrawal(2500);
  22.   if(p = a.find("398"))  p->withdrawal(1555.5);
  23.   for(Node* p=a.getFirst(); p; p=p->next)
  24.     try{
  25.         dynamic_cast<Checking&>(p->acnt).deposit((p->acnt).getBalan()*0.05);
  26.     }catch(bad_cast&){
  27.       double temp = (p->acnt).getBalan()*0.1;
  28.       (p->acnt).deposit(temp);
  29.     }
  30.   a.display();
  31. }//====================================
  32.