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

C#编程

开发平台:

Visual C++

  1. //=====================================
  2. // accountlist.cpp
  3. //=====================================
  4. #include<iostream>
  5. using std::cout;
  6. #include"accountlist.h"
  7. //-------------------------------------
  8. void AccountList::add(Account& a){
  9.   Node* pN = new Node(a);
  10.   if(first){
  11.     pN->next = first;
  12.     first->prev = pN;
  13.   }
  14.   first = pN;  size++;
  15. }//------------------------------------
  16. void AccountList::remove(string acntNo){
  17.   Account a(acntNo);
  18.   for(Node* p=first; p; p=p->next)
  19.     if(*p==Node(a)){
  20.       if(p->prev) p->prev->next = p->next;
  21.       if(p->next) p->next->prev = p->prev;
  22.       if(p==first) first = p->next;
  23.       delete p;
  24.       size--;
  25.       break;
  26.     }
  27. }//------------------------------------
  28. Account* AccountList::find(string acntNo)const{
  29.   Account a(acntNo);
  30.   for(Node* p=first; p; p=p->next)
  31.     if(*p==Node(a))
  32.       return &(p->acnt);
  33.   return 0;
  34. }//------------------------------------
  35. void AccountList::display()const{
  36.   std::cout<<"There are "<<size<<" accounts.n";
  37.   for(Node* p=first; p; p=p->next)
  38.     (p->acnt).display();
  39. }//------------------------------------
  40. AccountList::~AccountList(){
  41.   for(Node* p=first; p=first; delete p)
  42.     first = first->next;
  43. }//------------------------------------
  44.