I have used double-ended queue in my program. But I noticed that only the last elements gets introduced.
Here is my own class (I use "CustomRequest" to complete and "DisplayRequest" for display):
Code:
#include <iostream>
#include <fstream>
#include <string.h>
#include "Class.h"
using namespace std;
unsigned long Request:: counter = 0L;
Request:: Request() // Constructor
{
id = ++counter;
pnom = new char [MAXLEN_NAME 1];
memset (pnom, 0, MAXLEN_NAME 1);
health = 100;
exp = 0;
class = 0;
}
About Me:: ~ Request(void) // Destructor
{
delete [] pnom;
}
Request:: Request(Request &source)
{
if (this == &source) return;
pnom = new char [MAXLEN_NAME 1];
strcpy (pnom source. pnom);
exp = source. exp;
counter = source. counter;
Health = source. Health;
class = source. Class;
}
Request &Request:: operator = (Request &source)
{
if (this == &source) return (*this);
strcpy (pnom source. pnom);
Exp = source. Exp;
counter = source. counter;
Health = source. Health;
class = source. Class;
return (* this);
}
void Request:: DisplayRequest(Request *aRequest)
{
cout << "Name:" <<pnom <<endl;
cout << "Experience:" <<exp <<endl;
cout << "ID:" <<id <<endl;
cout << "health" <<health <<endl;
cout << "Class:" <<grade <<endl;
cout << "Force:" <<power <<endl;
cout << "Agility:" <<AGILITY <<endl;
cout << "Intelligence:" <<Intell <<endl;
cout <<"----------------------------------------" <<endl;
}
void Request:: CustomRequest (Request *aRequest)
{
int buflen = aRequest-> MAXLEN_NAME;
cout << "Creation" <<endl <<endl;
cout << "Name:";
cin. ignore ();
cin. getline (aRequest-> pnom, buflen);
aRequest-> pnom [buflen +1];
cout << "Enter power:";
cin>> force;
cout << "Enter Agility:";
cin>> AGILITY;
cout << "Enter Intelligence";
cin>> Intel;
}
Here is my main:
Code:
#include "Class.h"
#include <deque>
using namespace std;
void main ()
{
Request* ptrav = NULL;
ptrav=new Request;
DEQUE <Request*> dprequest;
DEQUE <Request*>:: iterator IPB
ptrav-> CustomRequest (ptrav);
dprequest. push_back (ptrav);
ptrav-> CustomRequest (ptrav);
dprequest. push_back (ptrav);
System ( "cls");
for (IPB = dprequest. begin (); IPB! = dprequest. end (); IPB + +)
{
ptrav-> DisplayRequest(IPB *);
}
cout << "the DEQUE a" <<dprequest. size () << "elements" <<endl;
System ( "pause");
}
Bookmarks