C ++中的纯虚函数和抽象类
纯虚函数是C++中的虚函数,对于该虚函数,我们无需编写任何函数定义,而仅需对其进行声明。通过在声明中分配0进行声明。
抽象类是C++中具有至少一个纯虚函数的类。
抽象类可以具有普通函数和变量以及纯虚函数。
无法实例化Abstract类,但是可以创建Abstract类类型的指针和引用。
抽象类主要用于Upcasting,以便其派生类可以使用其接口。
如果Abstract类具有派生类,则它们必须实现所有纯虚函数,否则它们也将成为Abstract。
由于我们在Vtable中为纯虚函数保留了一个插槽,因此无法创建抽象类的对象,但是我们没有放置任何地址,因此Vtable将保持不完整。
范例程式码
#include<iostream>
using namespace std;
class B {
public:
virtual void s() = 0; // Pure Virtual Function
};
class D:public B {
public:
void s() {
cout << "Virtual Function in Derived class\n";
}
};
int main() {
B *b;
D dobj;
b = &dobj;
b->s();
}输出结果
Virtual Function in Derived class
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练