// STLを使うとwarningが出る可能性があるので、それを出さないようにする
#pragma warning (disable:4786)
using namespace std;
#include<set>
#include<iostream>
#include <iomanip>
#include"String.h" // 04-19で作ったもの
using namespace std;
// 名簿クラス
class Meibo{
public:
// デフォルトコンストラクタ
Meibo() :
GakuseiNo( -1 ),
Name( "" ) {}
// コンストラクタ
Meibo(int n, String name) :
GakuseiNo( n ),
Name( name ){}
// 比較演算子
bool operator<(const Meibo& a)const{
return GakuseiNo < a.GakuseiNo;
}
// メンバー変数
int GakuseiNo;
String Name;
};
void main(){
cout << setiosflags( ios::left ) << flush;
// setを宣言
set<Meibo> s;
// データ追加
s.insert(Meibo(25, "Hirozue Ryoko") );
s.insert(Meibo( 2, "Abe Natsuko") );
s.insert(Meibo(13, "Suzuki Ame") );
s.insert(Meibo( 7, "Kubo Shizuka") );
cout << setiosflags( ios::left ) << flush;
// すべてを表示
set<Meibo>::iterator itr = s.begin();
set<Meibo>::iterator itrEnd = s.end();
for( ; itr != itrEnd ; itr++ )
cout << setw(4) << itr->GakuseiNo << setw(20) << itr->Name << endl;
}
|