반응형
//************************************************************
//   list !!  
//************************************************************
#include  
#include  
#include  
#include 
#include  
using namespace std; 


class  Addr
{
private:
	string name; 
	string addr; 
	
public :
	Addr( string name = "이름없음" ,string addr = "")
	{
		this->name = name; 
		this->addr  = addr; 
	}
	string getName(){return name; }
	string getAddr() {return addr; }

	bool operator==(string name )
	{
		if( this->name == name) 
			return true;
		else 
			return false;
	}
	 
	void show() { cout << "이름 : " << name << "  주소 : " << addr << endl;}
};	

ostream & operator<<( ostream & os , Addr & addr) 
{
	addr.show(); 
	return os; 
}

class group
{
private:
	string g_name; 
	list AddrList; 
}



class AddrManager
{

private:
	 vector< group > AddrList; 
public: 
	AddrManager() 
	{
		list l; 
		AddrList.push_back(l);
		
	}

	// CRUD 
	void Insert( ) 
	{
		string name; 
		string addr; 
		cout << "이름 : ";
		cin >> name;
		cout << "주소:";
		cin >>  addr; 

		Addr * NewAddr =  new Addr(name, addr); 
		
		AddrList.push_back(NewAddr); 
	}
	
	void Del() 
	{
		string name; 
		cout << "이름 : ";
		cin >>  name; 
		
		list::iterator p; 
		for( p = AddrList.begin();  p!= AddrList.end(); p++) 
		{
			if( (*p)->getName() == name) 
			{
				AddrList.erase( p ); 
				return;
			}
		}



		//AddrList.erase( );
	
	}
	void show()
	{
		list::iterator p; 

		for( p = AddrList.begin();  p!= AddrList.end(); p++) 
			(*p)->show(); 
		
	}
};

void main()
{	
	AddrManager am; 

	am.Insert();
	am.Insert();
	am.Insert();
	am.show();
	am.Del(); 
	am.show();
	

}


'자료구조' 카테고리의 다른 글

[자료구조] Queue  (0) 2014.12.01
[자료구조] Map  (0) 2014.12.01
[자료구조] 배열을 추상화 한 클래스  (0) 2014.12.01
[자료구조] C언어 동적배열 사용  (0) 2014.11.18
[자료구조] C 언어 동적 배열  (0) 2014.11.18

+ Recent posts