Problem1403--类的练习--在1402题的基础上添加复制构造函数和赋值运算符(=)

1403: 类的练习--在1402题的基础上添加复制构造函数和赋值运算符(=)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 3  Solved: 3
[Submit] [Status] [Web Board] [Creator:]

Description

为单链表类模板增加一个复制构造函数和赋值运算符(=)。

在1402题基础上,List类增加一个复制构造函数和赋值运算符(=)

在主函数中进行测试,创建链表list1,测试复制构造函数和赋值运算符,生成list2,list3,输出三个链表

int main(){
Node<int> * P1;
List<int> list1,list2;
int a[10]={20,12,0,-5,9,-18,6,11,5,3},i,j;
for(i=0;i<10;i++){
P1=list1.CreatNode(a[i]);
list1.InsertOrder(P1);
}
list1.PrintList();
//cout<<"请输入一个要删除的整数<<endl;
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<<endl;
//cout<<"请输入一个要插入的整数"<<endl;
cin>>j;
P1=list1.CreatNode(j);
list1.InsertOrder(P1);
list1.PrintList();
list2=list1;
list2.PrintList();
List<int> list3=list1;
list3.PrintList();
//cout<<"请输入一个要删除的整数"<<endl;
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<<endl;
list2=list3=list1;
list2.PrintList();
list3.PrintList();
list1.MakeEmpty();//Çå¿Õlist1
list2.MakeEmpty();//Çå¿Õlist1
list3.MakeEmpty();//Çå¿Õlist1
return 0;
}


Sample Input

-5
2
3

Sample Output

-18 -5 0 3 5 6 9 11 12 20
-18 0 3 5 6 9 11 12 20
-18 0 2 3 5 6 9 11 12 20
-18 0 2 3 5 6 9 11 12 20
-18 0 2 3 5 6 9 11 12 20
-18 0 2 5 6 9 11 12 20
-18 0 2 5 6 9 11 12 20
-18 0 2 5 6 9 11 12 20

Source/Category

 

[Submit] [Status]