2020计算机二级C++通关练习题及答案(2)
1[判断题]C++语言比C语言对数据类型要求更加严格了。
参考答案:对
2[简答题] 为单链表类模板增加一个复制构造函数和赋值运算符(=)。在上题基础上,List类增加一个复制构造函数和赋值运算符(=)。
参考解析:
templateList::List(List& l){
head=new Node(-9999);//现建立头结点
Node* tempP=l.head->link,*tempC;
while(tempP!=NULL){
tempC=CreatNode(tempP->info);
InsertAfter(tempC);
tempP=tempP->link;
}
}
templateList& List::operator=(List& l){
MakeEmpty();//先释放原来链表的数据结点
Node* tempP=l.head->link,*tempC;
while(tempP!=NULL){
tempC=CreatNode(tempP->info);
InsertAfter(tempC);
tempP=tempP->link;
}
return *this;
}
int main(){
Node * P1;
List 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<<"请输入一个要求删除的整数"<
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<
cout<<"请输入一个要求插入的整数"<
cin>>j;
P1=list1.CreatNode(j);
list1.InsertOrder(P1);
list1.PrintList();
list2=list1;
list2.PrintList();
List list3=list1;
list3.PrintList();
cout<<"请输入一个要求删除的整数"<
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<
list2=list3=list1;
list2.PrintList();
list3.PrintList();
list1.MakeEmpty();//清空list1
list2.MakeEmpty();//清空list1
list3.MakeEmpty();//清空list1
return 0;
}
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>