cpp中的接口

2023-12-24

我想在 cpp 中创建接口,这样任何类都实现该类,那么该类必须实现父类的函数。如果所有功能都没有实现,那么它一定会显示错误。

class parent {   // interface class
   public :
      virtual void display();
}
class base : public parent {
    void display(); // this method must be implemented in this class 
}

请帮助我解决 C++ 中的这种类型的继承问题。


使用纯虚成员函数:

virtual void display() = 0;

这使得该类变得抽象(您无法创建它的实例),并且任何非抽象派生类都必须实现此类函数。

这是维基百科链接,其中包含更正式的定义:http://en.wikipedia.org/wiki/Virtual_function#Abstract_classes_and_pure_virtual_functions http://en.wikipedia.org/wiki/Virtual_function#Abstract_classes_and_pure_virtual_functions

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cpp中的接口 的相关文章

随机推荐

  • Xcache var_size 错误

    我正在尝试将 xcache 与 zend 框架结合使用来缓存 Zend Db Table Abstract 中的元数据 以便每个表仅调用一次描述查询 在我的引导程序中实现 xcache 并运行该应用程序时 出现以下错误 Warning xc
  • 没有发送过期标头,缓存内容,浏览器发出条件 GET 请求需要多长时间?

    假设浏览器默认设置 并且发送的内容没有过期标头 用户访问网站 浏览器缓存图像等 用户没有关闭浏览器或刷新页面 用户继续正常浏览网站 假设浏览器不会出于任何原因转储缓存 当用户浏览时 浏览器会缓存图像等 但尚不清楚何时会发出条件 GET 请求
  • Git:取消交互式变基

    我喜欢git rebase i HEAD 5压缩我的承诺 有时我认为我需要返回 5 次提交 但后来意识到我需要 7 次 然而 git 已经调出了 rebase 编辑器 git rebase merge git rebase todo在维姆中
  • Play框架中的异常处理

    我正在使用 play 框架 2 3 x 来构建一个宁静的 API 今天 我在 API 控制器中的所有 api 函数周围有一个 try catch 块 以便能够捕获异常并返回通用的 错误 json 对象 Example def someApi
  • 通过perl脚本在linux中按密码提示登录

    我想通过 Perl 脚本传递密码 我基本上是在编写一个脚本来在 Linux 终端上执行命令 在执行特定命令时 我收到提示 Password I need to enter password here through my script 但是
  • 确定最后单击的项目

    我需要检索导致焦点移出 模糊 事件的 DOM 元素在模糊事件中 以下代码将为我提供失去焦点的元素的 ID 而不是导致该元素失去焦点的元素 这是我需要的第二个元素 live blur function e var id this attr i
  • 在Python中使用循环来命名变量[重复]

    这个问题在这里已经有答案了 如何使用循环来命名变量 例如 如果我想要一个变量double 1 2 double 2 4一直到double 12 24 我该怎么写呢 我感觉它会是这样的 for x in range 1 13 double x
  • jQuery 搜索过滤器 - 在输入框中搜索

    我正在使用 jQuery 搜索过滤器 它运行良好 不过 我还需要在输入框中进行搜索和过滤 输入框都是文本类型 我需要像其他表列中的文本一样使用该值 我创造了一个小提琴 http jsfiddle net ktcle Jf6q5 http j
  • JPA @ManyToOne 在删除最后一个子项时自动删除父项

    我有一个由 ManyToOne 从子级到父级的单向映射 如下所示 ManyToOne JoinColumn name PARENT ID private ParentEntity parent 当最后一个子实体被删除而没有从 ParentE
  • 存储过程未在另一个存储过程中执行

    我发现执行 SP1 时 SP2 不会从 SP1 内执行 SP1的结构如下 ALTER PROCEDURE SP1 AS BEGIN Declare c1 cursor open c1 fetch next from c1 while fet
  • 将多个参数传递给线程函数

    我有一个名为 workForThread 的函数 它接受两个参数 并返回 void 我想使用类似的方法来线程化这个函数 thread workForThread a b Where a and b属于适当的类型 上面的代码无法编译 给出 调
  • Visual Studio 2010 数据比较自动化

    我注意到在高级版数据菜单中带有数据比较选项 它可以满足我需要的一切 只是想知道是否有一种方法可以自动执行我的应用程序中 GUI 中的操作 理想情况下 我想获得不同 左 右行的集合 在这篇博客中 我将引导您了解 Data NewDataCom
  • 使用独特的 bean 进行 spring 自动装配:Spring 期望单个匹配的 bean,但发现了 2 个

    我正在尝试使用 Spring 自动装配一些 bean 用于依赖注入 作为 web 应用程序 一个控制器 bean 包含另一个 bean 而另一个 bean 又保存另一组 bean 的哈希图 目前该地图只有一个条目 当我在 tomcat 中运
  • Apache Solr 中的多对一映射

    我正在使用 Solr 来索引我的报告数据库 报告可以包含文本 提交者信息等 当前的工作原理如下 docs Text Some Report Text ReportId 1 Date 2013 08 09T14 59 28 147Z Subm
  • 当用户未登录时,Servlet 过滤器在无限重定向循环中运行

    我有两个 HTML 文件 登录 html 测试 html 我的要求是用户不应该能够访问 test html 除非他通过 login html 成功登录 这是我的login html 文件
  • 快速 (< n^2) 聚类算法

    我有 100 万个 5 维点 需要将它们分组为 k 个簇 其中 k 但 我需要运行时间远低于 n 2 n log n 左右应该没问题 我进行此聚类的原因是为了避免计算所有 n 个点的距离矩阵 这需要 n 2 时间或多个小时 而是我只想计算聚
  • Linq-to-Entity 查询的动态谓词

    以下 Linq to Entities 查询工作正常 var query repository Where r gt r YearProp1 HasValue r YearProp1 gt minYear r YearProp1 lt ma
  • 使用实体框架删除项目

    我正在尝试使用实体框架删除一个对象 在互联网上的所有教程中 我发现为了做到这一点 您必须调用DeleteObject方法结合上下文 我尝试这样做 但似乎我没有DeleteObject方法 这是我的代码 public void DeleteB
  • 选择子网格中的行会选择父网格中具有相同行索引的行

    我已经在 Rowexpander 插件中实现了嵌套网格 现在的问题是 当我选择子网格的任何第 n 行时 父网格第 n 行也会被选中 我认为因为两者都有相同的 rowIndex 即使当我将鼠标悬停在子网格行上时 父级也会同时显示相同的鼠标悬停
  • cpp中的接口

    我想在 cpp 中创建接口 这样任何类都实现该类 那么该类必须实现父类的函数 如果所有功能都没有实现 那么它一定会显示错误 class parent interface class public virtual void display c