编译问题:invalid new-expression of abstract class type ‘×××ב

1. 编译报错:invalid new-expression of abstract class type ‘×××ב

这个报错代表一个尝试在实例化一个抽象类,也就是说父类的接口中有纯虚函数在子类中没有实现;
举个例子来看,假如说父类定义成了一个接口,

class parent:
{
  virtual ~parent();
  virtual void func1() = 0;
};

子类定义成如下,

class child: public parent
{
  child();
  ~child();
};

int main()
{
  parent *test = new child();
};

这样编译就会报错,子类中必须要实现所有父类里面定义的纯虚函数(接口)

class child: public parent
{
  child();
  ~child();
  void func1() {}
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • java继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继...
    863cda997e42阅读 694评论 0 1
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,268评论 0 2
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,703评论 0 11
  • key point Java 和其他语言的比较 什么是Java引用 面向对象的基本特征 封装 继承 多态静态绑定 ...
    andrew7阅读 428评论 0 1
  • 内核空间与用户空间 Kernel space 是 Linux 内核的运行空间,User space 是用户程序的运...
    德彪阅读 6,272评论 3 26