C++ 模板继承方案

2023-12-27

我想知道我的编码方式是否正确。我可以创建一个继承模板类的模板类吗?如果可以的话,以下代码是否正确:

template<typename Type>
class A{
    public:
        A(){};
        method_A(){//do whatever}
    protected:
        int a;
}

第二类是:

template<typename Type>
class B:public<Type> A {
    public:
        B(){};
        method_B(){this->a=0; this->method_A();}
    protected:
        int b;
}

我的最后一堂课是:

class C:public<double> B{
    public:
        C(){};
        method_C(){ b = 0; method_B();}
    protected:
        int c;
}

为什么是this->在 B 类中是强制性的,但在 C 类中不是强制性的?一般来说,我应该总是添加this->引用属于同一类的参数或方法?


C++03 和 C++11 标准的第 14.6.2p3 节专门解决了这一问题:

在类模板或类模板成员的定义中,如果类模板的基类依赖于模板参数,则在类模板定义点的非限定名称查找期间不会检查基类范围或成员或在类模板或成员的实例化期间。

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

C++ 模板继承方案 的相关文章

  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName

随机推荐

  • 是否有 .NET 4.5 相当于:Storagefile.Openasync

    我爱上了异步和等待 但是我无法弄清楚如何在不使用 Task Run 的情况下等待文件打开 似乎有一个WRT 中的 API http msdn microsoft com en us library windows apps windows
  • 错误处理(向客户端发送 ex.Message)

    我有一个 ASP NET Core 1 0 Web API 应用程序 并试图弄清楚如果我的控制器调用的函数出错 如何将异常消息传递给客户端 我尝试了很多东西 但没有任何实现IActionResult 我不明白为什么这不是人们需要的常见东西
  • AWS 上的 Kubernetes PVC 与 ReadWriteMany

    我想在 AWS 上设置 PVC 我需要ReadWriteMany作为访问模式 不幸的是 EBS仅支持ReadWriteOnce 我该如何解决这个问题 我看到 AWS EFS 有一个测试版提供商 它支持ReadWriteMany 但正如所说
  • 如何强制我想要的任何显示分辨率/时间?

    我无法找到一种方法来在我的 C 程序中强制执行我想要的任何显示分辨率 计时 我运行的是带有 GeForce 210 显卡的 Windows 7 我当前实现这些自定义分辨率的方法是使用驱动程序 GUI 手动添加自定义分辨率 然后使用 Wind
  • Eclipse 找不到 std c++ 库

    我有一台Windows8机器 mingw安装在c mingw Eclipse 确实成功编译了程序 但它认为包含错误的行在编译时没有问题 Eclipse 本身没有找到库 当我第一次在 Eclipse 中构建一个安装了 CDT 组件的项目时 它
  • this 指针不能在构造函数中使用别名:

    我正在学习 C 中的继承 我遇到了以下情况陈述 https en cppreference com w cpp language this 换句话说 this 指针不能在构造函数中使用别名 extern struct D d struct
  • 访问 ASP.Net MVC 中的“Application”对象来存储应用程序范围的变量

    如何在 ASP net MVC 中存储应用程序范围内的变量或对象 在常规 ASP 中 您有 Application 对象 显然在 ASP net 中也是如此 我正在使用 ASP net MVC 2 在控制器中 您应该能够执行以下操作 thi
  • 更改 Woocommerce 3 中的订单商品价格

    我需要更改 woocommerce 订单中的商品价格 但我发现的所有内容都是更改购物车中的价格 但这不是我需要的 因为我需要在结帐过程后进行更改 有人可以告诉我如何做到这一点吗 你需要使用新的CRUD 设置器方法 https github
  • 如何将值添加到地图内的集合? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这张地图Map
  • 为什么我不能打开一个类,对枚举进行一次隐式转换

    我想知道为什么到枚举值的单个隐式转换的工作方式与转换到系统类型时的工作方式不同 我看不出任何技术原因 但也许比我聪明的人可以为我提供一些启示 以下无法编译 A value of an integral type expected and C
  • Clojure 中可以创建循环引用吗?

    忽略本机互操作和瞬态 是否可以在 Clojure 中创建任何包含直接循环引用的数据结构 看起来不可变的数据结构只能包含对自身先前版本的引用 是否有任何 Clojure API 可以创建一个引用自身的新数据结构 Scheme 具有 letre
  • 关于SQL查询的问题

    我正在做一个涉及oracle数据库的小项目 我有下表 CUSTOMER Cid CName City Discount PRODUCT Pid PName City Quantity Price ORDERS OrderNo Month C
  • 计算从左上角到右下角任意方向移动的移动次数

    我在面试中遇到了一个问题 这是我发现的类似问题 所以我想在这里问 问题是 有一个机器人位于 N X N 网格中的 1 1 处 机器人可以向左 右 上 下任意方向移动 我还得到了一个整数 k 它表示路径中的最大步数 我必须计算以 k 或更少的
  • OverflowError Python int 太大,无法转换为 C long

    usr bin python import sys math n input enter a number to find the factors j flag b 0l False 0l for b in xrange 1 n 1 a n
  • 如何在android中设置ListView所选项目交替文本颜色

    我有一个带有图像视图和文本视图的自定义列表视图 我希望当用户选择一个项目时 文本视图颜色应该改变 而所有其他文本视图应该保持默认 这是我的 xml 列表视图 xml
  • 带代理的 Selenium 返回空网站

    我无法通过代理从使用 selenium 的网站获取页面源 HTML 这是我的代码 from selenium webdriver chrome options import Options from selenium import webd
  • VS 2008 Intellisense 右键单击​​时挂起

    我在 Visual Studio 2008 SP1 中有一个相当大的 C 解决方案 当我右键单击时 我在状态栏中看到更新的智能感知 整个工作室冻结了几分钟 2005 年右键单击效果很好 有什么解决方法吗 在大型项目上更新智能感知只会降低生产
  • 使用 fusedLocationAPI.requestLocationUpdates 不会调用 onLocationChanged

    我一直在尝试使用 fusedLocationApi 来获取我当前的位置 我正在使用带有模拟 Nexus 6 的 android studio 根据在线文档https developer android com training locati
  • Crontab - 简单的 echo 未运行

    我有这样的情况 我想在 Linux 服务器上使用 crontab 安排一个作业 我不是超级用户 所以我只编辑 使用 crontab l 编辑器 vim 我的 crontab 文件 为了测试 我放在那里 echo asdf 并且该作业没有运行
  • C++ 模板继承方案

    我想知道我的编码方式是否正确 我可以创建一个继承模板类的模板类吗 如果可以的话 以下代码是否正确 template