c++プログラミング練習032:このテンプレートは難しくない
8174 ワード
北京大学プログラム設計とアルゴリズム(三)試験問題まとめ(2020春)
Description
プログラムを空にして、指定した結果を出力します.
複数セットのデータを入力します.各グループの1行目はスペースを含まない文字列2行目は整数n 3行目はn整数
各セットのデータを出力し、入力文字列の各文字を順次出力し、各文字の後ろにカンマを付けてから、入力したn個の整数を順次出力し、各整数の後ろにカンマを付ける
サンプル入力Tom 3 3 4 5 Jack 4 1 2 3 4
サンプル出力T,o,m,3,4,5,J,a,c,k,1,2,3,4,
ソースGuo Wei
Analysis
この問題は簡単で,クラステンプレートの構造関数の書くことを考査することである.
内部のパラメータから分かるように、2つのパラメータを初期化する必要があります.
Description
プログラムを空にして、指定した結果を出力します.
#include
#include
#include
using namespace std;
template <class T>
class myclass {
//
~myclass( ) {
delete [] p;
}
void Show()
{
for( int i = 0;i < size;i ++ ) {
cout << p[i] << ",";
}
cout << endl;
}
};
int a[100];
int main() {
char line[100];
while( cin >> line ) {
myclass<char> obj(line,strlen(line));;
obj.Show();
int n;
cin >> n;
for(int i = 0;i < n; ++i)
cin >> a[i];
myclass<int> obj2(a,n);
obj2.Show();
}
return 0;
}
複数セットのデータを入力します.各グループの1行目はスペースを含まない文字列2行目は整数n 3行目はn整数
各セットのデータを出力し、入力文字列の各文字を順次出力し、各文字の後ろにカンマを付けてから、入力したn個の整数を順次出力し、各整数の後ろにカンマを付ける
サンプル入力Tom 3 3 4 5 Jack 4 1 2 3 4
サンプル出力T,o,m,3,4,5,J,a,c,k,1,2,3,4,
ソースGuo Wei
Analysis
この問題は簡単で,クラステンプレートの構造関数の書くことを考査することである.
class myclass {
private:
const T *p;
int size;
public:
myclass(T *_line,int num){
p = _line;
size = num;
}
~myclass( ) {
delete [] p;
}
void Show()
{
for( int i = 0;i < size;i ++ ) {
cout << p[i] << ",";
}
cout << endl;
}
};
内部のパラメータから分かるように、2つのパラメータを初期化する必要があります.