⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpp20.cpp

📁 C++参考书
💻 CPP
字号:

// Coded by plusir -- Dec.30.2002.
// Standard C++ Bible -- (P319-11-20)

#include <iostream>
#include <string>
using namespace std ;

class ListEntry
{
	public:
		ListEntry( char * ) ;
		~ListEntry( void ) ;
		ListEntry* prevEntry( void ) const ;
		void display( void ) const ;
		void addEntry( ListEntry & ) ;

	private:
		char *listValue ;
		ListEntry *prev ;
} ;

ListEntry::ListEntry( char *s )
{
	listValue = new char[strlen( s ) + 1] ;
	strcpy( listValue, s ) ;
	prev = NULL ;
}

ListEntry::~ListEntry( void )
{
	delete [] listValue ;
}

ListEntry* ListEntry::prevEntry( void ) const
{
	return prev ;
}

void ListEntry::display( void ) const
{
	cout << endl << listValue ;
}

void ListEntry::addEntry( ListEntry &l )
{
	l.prev = this ;
}

int main()
{
	ListEntry* prev = NULL ;

	while ( 1 ) {
		cout << endl << "Enter a name( \"end\" when done ): " ;
		char name[25] ;
		cin >> name ;

		if ( strncmp( name, "end", 3 ) == 0 )
			break ;

		ListEntry* list = new ListEntry( name ) ;
		if ( prev != NULL )
			prev->addEntry( *list ) ;
		prev = list ;
	}

	while ( prev != NULL ) {
		prev->display() ;
		ListEntry *hold = prev ;

		prev = prev->prevEntry() ;

		delete hold ;
	}
	cout << endl ;

	return 0 ;
}

⌨️ 快捷键说明

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