私はRoomと呼ばれるクラスを持っています。ルームクラスはsetPriceとdisplay関数を持っています。保存された部屋は、ベクター内のオブジェクトC++ ::ベクトル・イテレータを使用してクラス・メソッドを呼び出しますか?
I:私の主な機能には
room.push_back(Room("r001", 1004, 2, "small"));
room.push_back(Room("r002", 1005, 2, "small"));
room.push_back(Room("r003", 2001, 4, "small"));
room.push_back(Room("r004", 2002, 4, "small"));
は、私はすべての部屋を表示する表示機能を作成します。ここに私のコードです:
void displayRoom()
{
vector<Room>::iterator it;
for (it = room.begin(); it != room.end(); ++it) {
*it.display(); // just trying my luck to see if it works
}
}
しかし、部屋の表示方法を呼び出すことはありません。
ルーム(クラス)の表示方法(引数なし)とsetPrice(1引数)メソッドをどのように呼びますか?
おかげで、あなたはどちらかをしたいです。実行可能なソリューションと最初の回答者によって選択されます。 –
とにかく特定のベクトル要素の関数を呼び出す場合。同様に:room [2] - > setPrice(200) –
@cpp_noob: 'room [2]'はあなたに何かを与えます。それはオブジェクトです( 'room [2] .setPrice(200)')どんなオブジェクトでも同じようにメソッドを呼び出します。何かを再度参照解除する必要がある場合は、再度 '(*(room [2]))setPrice(200)'または 'room [2] - > setPrice(200)'を参照解除する必要があります。 – delnan