(1)假设一个名字在派生类的作用域内无法正确解析,则编译器将继续在外层的基类作用域中寻找该名字的定义。

(2)派生类的成员将隐藏同名的基类成员。

(3)除了覆盖继承而来的虚函数之外,派生类最好不要重用其它定义在基类中的名字。

(4)声明在内层作用域的函数并不会重载声明在外层作用域的函数。定义在派生类中的函数也不会重载其基类中的成员。

(5)基类函数的每一个实例在派生类中都必须是可訪问。对派生类没有又一次定义的重载版本号的訪问实际上是对using声明点的訪问。

(6)继承关系对基类拷贝控制最直接的影响是基类通常应该定义一个虚析构函数,这样就能动态分配继承体系中的对象了。

(7)通过在基类中将析构函数定义成虚函数以确保运行正确的析构函数版本号。

(8)假设基类的析构函数不是虚函数,则delete一个指向派生类对象的基类指针将产生没有定义的行为。

(9)当派生类定义了拷贝或移动操作时,该操作负责拷贝或移动包含基类部分成员在内的整个对象。

(10)在默认情况下,基类默认构造函初始化派生类对象的基类部分。假设我们想拷贝或移动基类部分,则必须在派生类的构造函数初试列表中显式地使用基类的拷贝或移动构造函数。

(11)假设构造函数或者析构函数调用了某个虚函数,则我们应该运行与构造函数或析构函数所属类型相对于的虚函数版本号。

(12)派生类继承基类构造函数的方式是提供一条注明了基类名的using声明语句。

(13)当派生类对象被赋值给基类时,当中的派生类部分将被“切掉”,因此容器和存在继承关系的类型无法兼容。

(14)当我们希望在容器中存放具有继承关系的对象时,我们实际上存放的一般是基类的指针。

(15)令一个类公有地继承令一个类时,派生类应当反映与其基类的“是一种(Is A)”关系。

(16)模板是c++中泛型编程的基础,一个模板就是一个创建类或者函数的蓝图或者说公式。

(17)模板定义以keywordtemplate開始,后跟一个模板參数列表,这是一个逗号分隔的一个或多个模板參数的列表,用小于号和大于号包围起来。

(18)在模板定义中,模板參数列表不能为空。

(19)编译器用判断出的模板參数来为我们实例化一个特定版本号的函数。

(20)除了定义类型參数,还能够在模板中定义非类型參数。一个非类型參数表示一个值而非一个类型。

(21)当一个模板被实例化时,非类型參数被一个用户提供的或编译器判断出的值所取代。非类型模板參数的模板实參必须是常量表达式。

从零单排c++ primer(17)的更多相关文章

  1. (1)风色从零单排《C++ Primer》 一个简单的c++程序

    从零单排<C++ Primer> --(1)一个简单的c++程序 本次学习收获 0.写在前面 风色以前上过C++的课程,然而当时并没有认真去学,基本不能使用c++来作项目开发. 这次又一次 ...

  2. 从零单排Linux – 1 – 简单命令

    从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...

  3. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏

    提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...

  4. 从零单排之玩转Python安全编程(II)

    转自:http://www.secpulse.com/archives/35893.html 都说Python大法好,作为一名合格的安全从业人员,不会几门脚本语言都不好意思说自己是从事安全行业的. 而 ...

  5. HDU4870_Rating_双号从零单排_高斯消元求期望

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...

  6. 从零单排Linux – 3 – 目录结构

    从零单排Linux – 3 – 目录结构 1.FHS标准(filesystem hierarchy standard) why? –> 为了规范,还有为了linux的发展 重点 –> 规范 ...

  7. 从零单排Linux – 2 – 目录权限

    从零单排Linux – 2 – 目录权限 1.sync 讲内存数据跟新到硬盘中 2.执行等级init a: run level 0:关机 b: run level 3:纯命令模式 c:run leve ...

  8. JAVA从零单排之前因

    本人,男,21岁,普通院校本科,计算机专业.大学之前对计算机编程没有一点涉及.大学学计算机专业也是个偶然.因为当初高考的成绩不好,结果都是我父亲帮我报的学校和专业. 上了大学之后,大一都是在新奇中度过 ...

  9. 从零单排学Redis【铂金二】

    前言 只有光头才能变强 好的,今天我们要上[铂金二]了,如果还没有上铂金的,赶紧先去蹭蹭经验再回来(不然不带你上分了): 从零单排学Redis[青铜] 从零单排学Redis[白银] 从零单排学Redi ...

随机推荐

  1. Perl数组: shift, unshift, push, pop

    pop pop函数会删除并返回数组的最后一个元素. .. ; $fred = pop(@array); # $fred变成9,@array 现在是(5,6,7,8) $barney = pop @ar ...

  2. ubuntn 虚拟机NAT 静态IP 网络配置

    在虚拟机安装ubuntu12.04自动获取IP 一切都没有问题 ssh连接也正常.关机重启后郁闷的发现网络已经不通了,于是开始了以下的摸索. 1.配置静态IP 网关: ip段: 命令: Vim /et ...

  3. 修改原代码定制bootstrap

    1.下载对应的Bootstarap和node.js 注:less文件夹中包含了bootstrap中所有样式组件的less源代码: dist保存编译后的css和js等文件 2.命令行输入npm inst ...

  4. c#的异或运算符

    int a = 5; int b = 30; Console.WriteLine(a^b); Console.ReadKey();  输出结果是27 这是因为 5的二进制是0000 010130的二进 ...

  5. 在php中使用Memcache

    在上一篇博客中我写到了memcache的安装和管理,在这一篇博客中我将写到的是在php中如何使用memcache. 一.安装memcache扩展 首先我们通过phpinfo()函数查看一下我们当前的p ...

  6. ASP.NET 安全认证

    一. 新建一个测试项目 新建一个测试项目,包含三张页面(Default.aspx.Login.aspx.UserInfo.aspx).   二. 修改 Web.config 1.把<authen ...

  7. How to solve "The specified service has been marked for deletion" error

    There may be several causes which lead to the service being stuck in “marked for deletion”. Microsof ...

  8. net programming guid

    Beej's Guide to Network Programming Using Internet Sockets Brian "Beej Jorgensen" Hallbeej ...

  9. codeforces C. Booking System

    题意:有n组客人,分别告诉每一组的个数和花费,然后给你餐厅内k个桌子,每个桌子的最大容纳人数,如何安排使得餐厅最大收益并且容纳人数尽可能大: 思路:贪心,对花费排序,然后对每一组客人找桌子就可以. # ...

  10. 【HDOJ】2405 Marbles in Three Baskets

    BFS+状态压缩. /* 2405 */ #include <iostream> #include <queue> #include <cstdio> #inclu ...