以下の機能は、次の順序でカーベクトルのすべての要素を表示します。比較要素++
車:#1
メイク:BMW
モデル:X6
価格(£):50000
車:#2
メイク:ホンダ
モデル:ジャズ
価格(£):13000
車:#3
メイク:マツダ
モデル: 3
価格(£):20000
など
私はすべての車の外に安価である車を見つけるために価格に基づくベクターですべての車を比較したいと思います。同じベクター内の特定のフィールドを比較する比較可能なメソッドはありますか?
これはサンプルコードです:すべて、その後、あなたはそれをこの方法を行う場合
class Car {
public:
int price;
std::string make;
std::string model;
int index;
bool operator<(Car const& otherCar) const;
}
bool Car::operator<(Car const& otherCar) const
{
return price < otherCar.price;
}
:あなたは常に価格でソートされます
void displayCars(vector<Car> carVec)
{
if (!carVec.empty())
{
cout << "Current Inventory:\n";
for (unsigned int count = 0; count < carVec.size(); count++)
{
cout << "\t\t\tCar: #" << (count + 1) << endl
<< "\t\t___________________________\n\n"
<< "Make: " << carVec[count].getMake() << endl
<< "Model: " << carVec[count].getModel() << endl
<< "Price (£): " << carVec[count].getPrice() << endl
<< endl << endl;
}
}
}
いいえ、あなたは1を記述する必要があります。 –
'void displayCars(ベクトル carVec)'は、ベクトルのコピーを作成します。 –