C/C++の宿題を片付けます 56代目
■ このスレッドは過去ログ倉庫に格納されています
0086デフォルトの名無しさん
2005/12/22(木) 22:30:20このクラスには値二つが等しいかどうかを返す関数same()があります. templateの特殊化を用いて, Pair::same()が Tがcharもしくはstringのときに大文字小文字を区別しない等しさを返すように書き換えて下さい. 以下の例では, a, d, f, gのsame()がtrueを返すはずです.
#include <iostream>
#include <string>
using namespace std;
template <class T>
class Pair { T fst; T snd;
public: Pair(const T& f, const T& s) {
fst = f; snd = s;}
virtual ~Pair(){}
bool same() { return fst == snd; }};
int main(){
Pair<int> a(1,1);
Pair<int> b(1,2);
Pair<char> c('a','b');
Pair<char> d('a','A');
Pair<string> e("abc","bcd");
Pair<string> f("abc","abc");
Pair<string> g("abc","AbC");
cout << a.same() << endl;
cout << b.same() << endl;
cout << c.same() << endl;
cout << d.same() << endl;
cout << e.same() << endl;
cout << f.same() << endl;
cout << g.same() << endl; return 0;}
■ このスレッドは過去ログ倉庫に格納されています