accountlist.cpp

来自「这是我们C++书上的课后题答案。是钱能编著的第二版C++」· C++ 代码 · 共 61 行

CPP
61
字号
#include<iostream>
// using std::cout;
using namespace std;


#include"Accountlist.h"

//////////////////////////////////////////////////////////////////////////
void AccountList::add(Account& a)
{
	Node *pN = new Node(a);
	if(first)
	{
		pN->next = first;
		first->prev = pN;
	}
	first = pN;
	size ++;
}
void AccountList::remove(string acntNo)
{
	Account a (acntNo);
	for(Node *p = first;p;p = p->next)
		if(*p == Node(a))
		{
			if(p->prev)
				p->prev->next = p->next;
			if(p->next)
				p->next->prev = p->prev;
			if(p == first)
				first = p->next;
			delete p;
			size --;
			break;

		}
}

Account*AccountList::find(string acntNo)const
{
	Account a(acntNo);
	for(Node *p =first;p;p = p->next)
		if(*p == Node(a))
			return &(p->acnt);
			return 0;

}

void AccountList::display()const
{
	std::cout<<"There are "<<size <<" accounts "<<endl;
	for(Node *p = first;p;p =p->next)
		(p->acnt).display();

}

AccountList::~AccountList()
{
	for(Node *p = first;p = first;delete p)
		first = first->next;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?