C++ Templates <The complete guide> 中的一个例子:

一个模板基类
template<class T>
class Base
{
public:
   int field;       // #1
};

派生类, 从上面的模板基类继承
注意, 在此, 基类并不能确定就是上面的Base<T>,
因为 下面#3 处可以看到, 程序对Base<int>进行了特化

template<class T>
class Derived : public Base<T>
{
public:
 void f()
 {
  field++;          //#2 哪个field? #1处还是#3处,
 }
};

#2处的field到底是char还是int类型? 即#1处还是#3处 ? 显然无法确定, 只有当
Derived被某个特定的T类型实例化的时候才知道.

template<>
class Base<int>
{
public:
 char field;           //#3
};

#2处的field是一个non-dependent name, 而基类Base<T>是一个dependent name, 因此不去其中查找.

正确的编译器做法是: 在#1处报错.  VC7.1就是如此.

因此在Derived<T>模板类中, 如果确实需要指定Base<T>中的field, 应该使用 this->field 或者 Base<T>::field.

C++ Templates 中的一个例子相关推荐

  1. VCS视频学习中的一个例子代码:dff.v和dff_tb.v

    前言 VCS课程中的一个例子! dff.v //r/dff_exp.v module dff_exp(//Inputsinput wire clk_i,input wire rst_l_i,input ...

  2. python中self_一个例子带你入门Python装饰器

    ============ 欢迎关注我的公众号:早起python ============ 前言 在还未正式发布的python3.9中,有一个新功能值得关注,那就是任意表达式可以作为装饰器,如果你还不知 ...

  3. Jena的简单理解和一个例子

    本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla ...

  4. R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...

  5. C++中const——由一个例子想到的

    前天同学实现了<C++ Primer>中关于虚函数的一个例子,拿过来问我,代码如下: #include<iostream> #include<string> usi ...

  6. 一个例子带你搞懂python作用域中的global、nonlocal和local

    在编程中,只要接触过函数的,我相信都理解什么是全局变量和局部变量,概念比较简单,这里就不做解释了.在python中,用global语句就能将变量定义为全局变量,但是最近又发现有个nonlocal,一时 ...

  7. SAP Spartacus 中,Angular <ng-container>使用的一个例子

    Angular官网里对ng-container的介绍: The Angular is a grouping element that doesn't interfere with styles or ...

  8. Angular component的一个例子

    官网:https://angular.io/guide/architecture-components Before a view is displayed, Angular evaluates th ...

  9. PS网页设计教程XVI——在PS中创建一个摩登实验室风格的网页设计

    作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作诗也会吟". 本系列的教程来源于网上的PS教程,都是国外的 ...

最新文章

  1. 苹果2010新品发布会图文实录
  2. java执行linux shell命令,并拿到返回值
  3. MariaDB表表达式(2):CTE
  4. oracle+测试权限,Oracle测试题
  5. nyist---组队赛(三)
  6. Linux课程笔记 Crond介绍
  7. 在Linux中,用什么命令查看文件或目录的权限?
  8. 万圣节头像小程序源码
  9. (01)C++之设计模式演变
  10. GBDT(MART) 迭代决策树入门教程 | 简介 写的非常好!!
  11. C# --- WinForm基本知识与绘图(上)
  12. cad2018安装教程_AUTO CAD2018安装教程+安装包
  13. lfw分类 python_Python机器学习:PCA与梯度上升:009人脸识别与特征脸(lfw_people数据集)...
  14. linux comd skill
  15. 深度学习——时间序列模型评价指标总结
  16. 海域使用证换不动产证的步骤和注意问题
  17. js版的倒计时(月-日-时-分-秒-毫秒)
  18. Android中根据dialog的展示与否控制软键盘的显示与隐藏
  19. 深信服下一代防火墙介绍
  20. 微信小程序后台持续定位功能使用

热门文章

  1. 某大厂外包员工在工作群抢新年红包,却被要求退回...
  2. 2021年国庆节旅游数据报告
  3. 互联网域名产业报告(2021年)
  4. 互联网日报 | 6月15日 星期二 | 凯撒旅业拟换股吸并众信旅游;爱回收预计6月18日登陆纽交所;顺丰航空机队规模增至66架...
  5. 互联网日报 | 6月9日 星期三 | 腾讯发布长中短视频计划;阿里云新增两大海外数据中心;陌陌持续25个季度盈利...
  6. usb接口linux系统设计,AUFS 联合文件系统 - 基于USB接口的微型桌面Linux系统设计
  7. 【2016年第4期】突发大数据在存储辅助光电路交换网络中的传输
  8. 《大数据》2015年第2期“专题”——关于大数据交易核心法律问题 —— 数据所有权的探讨及建议...
  9. 【计算机组成原理】内存
  10. 【Linux】XXX is not in the sudoers file …… 的解决方案