I created an overloaded operator for the first time.
It works and tests ok.
My teacher wants me to convert this overloaded operator into a copy constructor.
I got it to link, but I was wondering how would I go about testing it.
Below is my overloaded operator.
Code:
//prototype
linklist operator=(linklist*);
//overloaded operator function
linklist linklist::operator=(linklist *Original)
{
Original->current=Original->head;
while(Original->current!=NULL)
{
link* newlink = new link;
strcpy(newlink->lname,Original->current->lname);
strcpy(newlink->fname,Original->current->fname);
strcpy(newlink->ssnumber,Original->current->ssnumber);
newlink->age=Original->current->age;
newlink->weight=Original->current->weight;
newlink->next = head;
if (head == NULL) //this tells me I have an empty list
{
head = newlink;
tail = head;
}
else
{
head = newlink;
}
Original->current=Original->current->next;
}
return *this;
}
and this is my copy constructor
Code:
//prototype
linklist(linklist*);
// copy constructor function
linklist::linklist(linklist *Original)
{
Original->current=Original->head;
while(Original->current!=NULL)
{
link* newlink = new link;
strcpy(newlink->lname,Original->current->lname);
strcpy(newlink->fname,Original->current->fname);
strcpy(newlink->ssnumber,Original->current->ssnumber);
newlink->age=Original->current->age;
newlink->weight=Original->current->weight;
newlink->next = head;
if (head == NULL) //this tells me I have an empty list
{
head = newlink;
tail = head;
}
else
{
head = newlink;
}
Original->current=Original->current->next;
}
}
can you pass arguments to the object initialization?
Code:
linklist listD(&listA);