一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

对于“不能实例化抽象类”编译错误,主要基本是子类继承于抽象类,然后有某个抽象函数没有实现导致:
例如,抽象类A

1 class A{
2 public:
3     A();
4     virtual test() const = 0;
5 }

子类B继承A

1 class B : public A{
2 public:
3     B();
4 }

若这个时候直接实例化B,则会出现“不能实例化抽象类”的编译错误:

1 int main(){
2     B b();
3 }

这时只要实现父类A中的所有纯虚函数即可:

1 class B:public A{
2 public:
3     B();
4     virtual test() const{
5         // Do something
6     }
7 }

 

posted on 2023-03-29 14:05  一杯清酒邀明月  阅读(1097)  评论(0编辑  收藏  举报