对于“不能实例化抽象类”编译错误,主要基本是子类继承于抽象类,然后有某个抽象函数没有实现导致:
例如,抽象类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 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2021-03-29 Qt QScrollArea显示滚动条(添加自定义控件)
2021-03-29 Qt Qt::Alignment 设置对齐方式
2021-03-29 Qt QListView 简单应用