問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
エンジニアであり、社員を管理する立場にあるあなたが勤める会社には、効率的に社員を管理するために、次のようなメンバ変数とメンバ関数を持つ社員クラス class employee
が存在しています。
メンバ変数整数 number, 文字列 name
メンバ関数
getnum(){
return number;
}
getname(){
return name;
}
change_num
と 引数に元の名前と新しい名前を指定すれば、新しい名前に更新してくれる関数 change_name
を作成することにしました。make number name
と入力された場合は変数にnumber, name
を持つ社員を作成し、getnum n
と入力された場合は n 番目に作成された社員の number を、getname n
と入力された場合は n 番目に作成された社員の name を出力してください。change_num n newnum
と入力された場合は、n 番目に作成された社員の number を、 newnum に変更し、 change_name n newname
と入力された場合は、n 番目に作成された社員の name を、 newname に変更してください。
N
S_1
...
S_N
make number name
getnum n
getname n
change_num n newnum
change_name n newname
入力に応じた出力をしてください。
各入力に対する出力の末尾には改行を入れてください。
・ 1 ≦ N ≦ 50
・ S_i (1 ≦ i ≦ N) の各形式の制約は次の通り
・ 1 ≦ number , newnum ≦ 10^5
・ どの時点においても number , name は重複しない
・ name , newname は長さ 20 文字未満の文字列
・ 1 ≦ n ≦ その入力時点での社員数
4
make 3 nana
getnum 1
change_num 1 5
getnum 1
3
5
12
make 2742 makoto
getnum 1
make 2782 taro
getname 1
getname 2
change_num 2 9927
change_name 1 mako
getnum 2
make 31 meu
change_name 3 meumeu
getnum 3
getname 1
2742
makoto
taro
9927
31
mako