在C++中,实现常见的抽象可以通过以下几种方法:
class IAnimal {
public:
virtual void eat() = 0;
virtual void sleep() = 0;
};
class Dog : public IAnimal {
public:
void eat() override {
// 具体实现
}
void sleep() override {
// 具体实现
}
};
class Animal {
public:
virtual void eat() = 0;
virtual void sleep() = 0;
};
class Dog : public Animal {
public:
void eat() override {
// 具体实现
}
void sleep() override {
// 具体实现
}
};
template<typename T>
class Container {
public:
void add(T item) {
// 具体实现
}
T get(int index) {
// 具体实现
}
};
class ISortStrategy {
public:
virtual void sort(std::vector<int>& data) = 0;
};
class BubbleSort : public ISortStrategy {
public:
void sort(std::vector<int>& data) override {
// 具体实现
}
};
class QuickSort : public ISortStrategy {
public:
void sort(std::vector<int>& data) override {
// 具体实现
}
};
class IAnimalFactory {
public:
virtual std::shared_ptr<IAnimal> createAnimal() = 0;
};
class DogFactory : public IAnimalFactory {
public:
std::shared_ptr<IAnimal> createAnimal() override {
return std::make_shared<Dog>();
}
};
以上是一些常见的抽象方法,C++专业程序员可以根据实际需求选择合适的方法来实现抽象。
领取专属 10元无门槛券
手把手带您无忧上云