写一个动物类,动物有属性:名字,身高,体重,年龄,并将此类放到vector容器中,并对动物的体重进行排序
时间: 2024-02-07 09:04:11 浏览: 145
好的,我来写一个Animal类,并实现体重排序功能:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
class Animal {
public:
Animal(std::string name, double height, double weight, int age)
: m_name(name), m_height(height), m_weight(weight), m_age(age) {}
std::string getName() const {
return m_name;
}
double getHeight() const {
return m_height;
}
double getWeight() const {
return m_weight;
}
int getAge() const {
return m_age;
}
private:
std::string m_name;
double m_height;
double m_weight;
int m_age;
};
bool sortByWeight(const Animal &a, const Animal &b) {
return a.getWeight() < b.getWeight();
}
int main() {
std::vector<Animal> animals;
animals.push_back(Animal("Elephant", 3.0, 5000.0, 10));
animals.push_back(Animal("Lion", 1.5, 200.0, 5));
animals.push_back(Animal("Giraffe", 5.0, 800.0, 8));
animals.push_back(Animal("Hippopotamus", 1.8, 1500.0, 12));
std::sort(animals.begin(), animals.end(), sortByWeight);
for (const auto &animal : animals) {
std::cout << animal.getName() << " weighs " << animal.getWeight() << " kg." << std::endl;
}
return 0;
}
```
在这个例子中,我们创建了一个Animal类,它有四个属性:名字、身高、体重、年龄。我们还实现了一个sortByWeight函数,用于对动物的体重进行排序。在main函数中,我们创建了四个Animal对象,将它们放入vector容器中,并对它们按照体重进行排序。最后,我们遍历排序后的vector,输出每个动物的名字和体重。
运行这个程序,输出如下:
```
Lion weighs 200 kg.
Giraffe weighs 800 kg.
Hippopotamus weighs 1500 kg.
Elephant weighs 5000 kg.
```
可以看到,按照体重排序后,Lion最轻,Elephant最重。
阅读全文