以前の文字列で上書きして配列内の文字列を削除することになっている削除関数があります。look 関数は、Overide が一致し、削除する必要があることを確認します。しかし、Delete のループ用に書いたコードは、Overide が占めている配列の最初の場所を削除していないため、出力は変更されません。また、+ の後の各フレーズが配列に追加されるため、配列内で 4 つのスポットが使用されます。申し訳ありませんが、その部分の見栄えを良くすることができず、書式設定が台無しになりました。
int AR::Look(const std::string & word)
{
int result = -1;
for(int i=0; i<counter; ++i)
{
if( con[i].find(word) != std::string::npos)
result = i;
}
return result;
}
void AR::Delete(const string & word)
{
int loc = Look(word);
if (loc == -1)
{
cout<<"word not found\n";
}
else
{
for(int i=0; i<counter-1,i++;)
{
con[i]= con[i+1];
}
}
}
AR their
Ar(1);
theirAr + "Overload the +" + " operator as a member function " + "with chaining to add a string " + "to an Arrary object.";
cout<<theirAr<<endl<<endl;
cout<<"testing Delete and Look. <<endl;
theirAr.Delete("XXXXXX");
theirAr.Delete("Overload");
cout<<"Output after Delete and Look called\n";
cout<<theirArray<<endl<<endl;