1) 纯虚函数 >就是没有函数实现 只是一个空的壳子 2)如果一个普通的类,继承拥有纯虚函数的类,必须要重写这个虚函数 3)不管这个类中有没有成员属性,只要这个类有纯虚函数,就是一个抽象类,抽象类,就是不能够实例化(因为要是实例化,就得调用他的方法,而他的方法没有实现,所以就没有意义,所以就有有错误 ...
分类:
其他好文 时间:
2018-01-12 21:22:11
阅读次数:
129
我要是用 子类 调用一个函数 先看虚函数表 有没有这个 函数 要是 没有 再去看 父类的非虚函数有没有匹配的 没有 再去看子类的非虚函数 要是 没有就报错。 父类必写 virtual 但是 子类没必要写 子类写virtual 父类没有 这个函数不是虚函数 ...
分类:
其他好文 时间:
2018-01-12 20:23:01
阅读次数:
169
题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路: 1)使用构造函数的方法,需要使用static变量。 2)虚函数原理 3)利用函数指针原理 4)短路原理,使用&&,|| 求1+2+3+.. ...
分类:
其他好文 时间:
2018-01-11 18:20:19
阅读次数:
166
在构造函数和析构函数中调用虚函数不是多态,因为编译时即可确定调用的是哪个函数。如果本类有该函数,调用的就是本类的函数;如果本类没有,调用的就是直接基类的函数;如果基类没有,调用的就是间接基类的函数,以此类推。例如: 输出结果 ...
分类:
编程语言 时间:
2018-01-11 15:38:13
阅读次数:
189
“多态”的关键在于通过基类指针或引用调用一个虚函数时,编译时不确定到底调用的是基类还是派生类的函数,运行时才确定。例子: 输出结果: 如果将程序中的 virtual 关键字去掉: 输出结果: 对比发现,有了虚函数以后,对象占用的存储空间比没有虚函数时多了4个字节。实际上,任何有虚函数的类及其派生类的 ...
分类:
编程语言 时间:
2018-01-10 20:25:21
阅读次数:
221
类的成员函数之间可以互相调用。在成员函数(静态成员函数、构造函数和析构函数除外)中调用其他虚成员函数的语句是多态的。例如: 输出: 第20行调用func1成员函数。进入func1成员函数,执行到第8行,调用func2函数。看起来调用的应该是CBase类的func2成员函数,但输出结果证明实际上调用的 ...
分类:
编程语言 时间:
2018-01-10 20:20:11
阅读次数:
127
前两天读了陈皓两篇关于虚函数表的博客, 正如他在博客中说的那样, 由于年代久远, 所有的测试代码都是在32位机上跑的, 按照作者的思路, 针对64位机, 我仿写了那些代码, 在移植到64位的过程中碰到了一些坑, 也学到了一些小工具, 现在记录在这里。 **1.`-fdump-class-hierar ...
分类:
编程语言 时间:
2018-01-10 16:55:34
阅读次数:
240
前提摘要: 虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。 虚函数定义: 指向基类的指针或引用在操作它的多态类(子类/派生类)对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数。 使用方法: 1.只需要在成员函数声明前使用关键字“virtu ...
分类:
编程语言 时间:
2017-12-31 10:59:25
阅读次数:
136
Caffe | Deep Learning Framework是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 Yangqing Jia,目前在Google工作。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝 ...
分类:
其他好文 时间:
2017-12-27 18:17:14
阅读次数:
261
转自:http://blog.chinaunix.net/uid-21411227-id-1826942.html 1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候 ...
分类:
编程语言 时间:
2017-12-22 03:17:42
阅读次数:
129