实现函数操作形式参数的动态操作:
有时函数的形参是有必要用到的.这是为我们自己调用时很方便,不用繁多的键盘输入.同时也有可能要加强程序与用户的交互.也就是临时决定输入.
但是我们又不可能对每个函数都写两个函数,一个含参,一个不含参的.代码太多了.同时又不好用所谓的默认的形参.这时可用下面的方法来实现两者的兼容.
在函数体内设一个局部变量.来替代我们的形参,或者是由键盘来输入.用一个if-else即可,要键盘输入时,就要用到这个变量来覆盖形参值.
具体代码如下:
int CircleList<T>::InputJudger() { char a; int i; while(1) { cout<<"输入要找元素的位置"<<endl; cin>>i; getchar(); if(i<1 || i>length) { cout<<"不存在这样的元素"<<endl; cout<<"输入Y/y表示重新输入" <<"输入N/n表示退出"<<endl; cin>>a; getchar(); if(a=='N' || a=='n') return 0; } break; } return i;
|
Node<T>* CircleList<T>::GetNode(int i) { int b,j; cout<<"如果决定从键盘输入,请输入1" cin>>j; if(j==1) { b=InputJudger(); } else b=i; if(!b || b>length)//没有用键盘输入的值没有去判断,故要加一个条件
{
cout<<"不找结点元素"<<endl;return NULL;
} Node<T>* pin=head->next; int flag=1;//记录位置
while(flag!=i) { pin=pin->next; flag++; } return pin; }
|
阅读(380) | 评论(0) | 转发(0) |