[YTU]_2631( B1 能存各种类型数据的Store类)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2631( B1 能存各种类型数据的Store类)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
有一種類,海納百川,可以對任意類型的數據進行存取,造就這個傳奇的,就是模板。 下面的程序中,定義一個類模板,但其中有些成份漏掉了,請你將他們補足,使程序能正確運行,得到要求的輸出結果。 請提交begin到end部分的代碼。 //************* begin ***************** #include <iostream> #include <cstdlib> #include <iomanip> using namespace std; ______(1)_______//類模板,實現對任意類型數據進行存取 class Store { private: T item; ? ? ? ?//用于存放任意類型的數據 int haveValue; ?//用于標記item是否為空,0表示為空,1表示有數據 public: Store(); ? ? ? ? ?//默認構造構造函數 __(2)__ getElem(); ? ? ?//提取數據,返回item的值 void putElem(T x);//存入數據 }; ______(3)_______//默認構造構造函數的實現 Store<T>::Store(void):haveValue(0){}; template<class T> ? //提取數據函數的實現,返回item中的數據 T Store<T>::getElem(void) { if (haveValue==0) //如果試圖提取未初始化的數據,則終止程序 { cout<<"NO item present!\n"; exit(1); } return item;? } template<class T>//存入數據的實現 ______(4)_______putElem(T x) { haveValue=1; item = x; } //************* end ***************** int main() { Store<int> si; Store<double> sd; int i; double d; cin>>i>>d; si.putElem(i); sd.putElem(d); cout <<setiosflags(ios::fixed)<<setprecision(2); cout<<si.getElem()<<endl; cout<<sd.getElem()<<endl; return 0; }輸入
一個整數和一個小數,將通過putElem函數存于相應的對象實例中輸出
通過getElem()取出相應對象中存入的數據,并且輸出,浮點型保留兩位小數樣例輸入
240 56.7183樣例輸出
240 56.72#include <iostream> #include <cstdlib> #include <iomanip> using namespace std; template <class T> class Store {private:T item;int haveValue;public:Store();T getElem();void putElem(T x); }; template <class T> Store<T>::Store(void):haveValue(0){}; template<class T> T Store<T>::getElem(void) {if(haveValue==0){cout<<"NO item present!\n";exit(1);}return item; } template<class T> void Store<T>::putElem(T x) {haveValue=1;item=x; } int main() {Store<int> si;Store<double> sd;int i;double d;cin>>i>>d;si.putElem(i);sd.putElem(d);cout <<setiosflags(ios::fixed)<<setprecision(2);cout<<si.getElem()<<endl;cout<<sd.getElem()<<endl;return 0; }《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的[YTU]_2631( B1 能存各种类型数据的Store类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_2632 ( B2 友元光顾
- 下一篇: [YTU]_2613( 距离产生美)