本文實例講述了C++實現(xiàn)raw_input的方法,分享給大家供大家參考。具體方法分析如下:
用慣了Python,現(xiàn)在寫C++的代碼感覺有點不太順暢。今天就來實例演示一下C++實現(xiàn)raw_input的方法。
用過Python的朋友知道,Python中有個raw_input,可以如下使用:
print raw_input("Input a number : ")一個函數(shù)內(nèi)既有輸入提示,又有返回值,用起來著實方便。可現(xiàn)在的問題是在C++中,我也想這么干,怎么辦?其實,寫一個函數(shù)也可以輕松實現(xiàn)的,比如:
int raw_input(const char* tips){ cout<<tips; int a; cin>>a; return a;}這個是實現(xiàn)整型數(shù)據(jù)輸入的函數(shù):首先通過cout輸出提示內(nèi)容,比如“Input number :”之類的;接下來定義一個整型變量a,并通過cin獲得數(shù)據(jù)的值;最后返回整型數(shù)據(jù)。可如下調(diào)用:
cout<<raw_input("Input number : ")<<endl;功能是實現(xiàn)了,而且如果把類型改為string,和Python的就相同了。可我還是嫌這個不靈活:每個類型我都要寫一遍,感覺很不爽,我想要一個比Python那個用起來更靈活的函數(shù)。標(biāo)準(zhǔn)庫沒有,就自己寫吧。
這個要借助C++的模板來實現(xiàn),示例如下:
template <class T1,class T2>T1 raw_input2(T2 tips){ T1 a; cout<<tips; cin>>a; return a;}這個和上面的原理一樣,這里就不解釋了。調(diào)用如下:
cout<<raw_input2<string,string>("Input string : ")<<endl;這樣是不是就方便多了。
希望本文所述對大家的C++程序設(shè)計有所幫助。
新聞熱點
疑難解答