当前位置:天才代写 > tutorial > C语言/C++ 教程 > Blocks下的第一个C++措施

Blocks下的第一个C++措施

2017-11-04 08:00 星期六 所属: C语言/C++ 教程 浏览:373

main.cpp:
#include <iostream>
#include <exception>

using namespace std;

class Test
{
public:
string name;
long id;
bool pass;
public:
void getUser()
{
pass=false;
while(pass==false)
{
try{
pass=true;
cout<<"Input your id:"<<endl;
cin>>id;
if(cin.fail()) //判读输入是不是正确的
{
throw new exception;
}
cout<<"Input your name:"<<endl;
cin>>name;
//下面是不消异常处理惩罚要领做的。留意内里的continue,其实这是针对上面cin>>id写的。
if(cin.fail())
{
pass=false;
cin.clear();
cout<<"Your name is wrong,please input again!"<<endl;
continue;
}
}catch(exception* e)//这里要用exception*否则会编译会堕落
{
pass=false;
cout<<"Your inputing is wrong,please input again!"<<endl;
cin.clear();//cin.clear()要领很重要,假如不掉用,则cin异常不会终止,那么措施就进入了死轮回
delete e;
}
}

}
void display()
{
cout<<"This is my first class processed in linux!"<<endl;
cout<<"my name is "<<name<<endl;
}
};
int main()
{
Test* tt= new Test();
tt->getUser();
tt->display();
return 0;
}

条记:

1.留意函数cin.fail()的用处。

2.留意函数cin.clear()的用法(有注释)。

3.留意catch中的exception*.

3.getUser()这个函数目标是为了检测输入异常。这里可以是一个c++中异常处理惩罚的实例,网上许多人士说发起不要利用c++中的异常处理惩罚机制,不知道什么原因。所以我就在cin>>name下面实现了不消异常处理惩罚的要领,可是写的代码较量多。同时,这个要领处理惩罚完输入异常后会做一个轮回,直到你输入正确的内容。

 

    关键字:

天才代写-代写联系方式