c++ 设计一个纯虚函数
时间: 2024-05-11 18:13:45 浏览: 9
纯虚函数是一个没有实现的虚函数,它只有函数原型,没有具体的实现。可以用纯虚函数来定义一个基类的抽象接口,让派生类实现具体的功能。
下面是一个例子,定义一个Animal类,其中包含一个纯虚函数makeSound():
```c++
class Animal {
public:
virtual void makeSound() = 0; // 纯虚函数
};
```
这里的makeSound()函数没有具体的实现,因此Animal类是一个抽象类,不能实例化。派生类必须实现makeSound()函数才能被实例化。例如:
```c++
class Dog : public Animal {
public:
void makeSound() {
cout << "汪汪汪" << endl;
}
};
class Cat : public Animal {
public:
void makeSound() {
cout << "喵喵喵" << endl;
}
};
```
这里的Dog和Cat类都是Animal类的派生类,它们都必须实现makeSound()函数,否则编译会报错。在主函数中,可以通过Animal指针来调用makeSound()函数,实现多态性:
```c++
int main() {
Animal *p1 = new Dog();
p1->makeSound(); // 输出:汪汪汪
Animal *p2 = new Cat();
p2->makeSound(); // 输出:喵喵喵
delete p1;
delete p2;
return 0;
}
```