c/c++中两颗璀璨的明珠
1.指针:
函数指针做函数参数 回调函数 语法现象 意义 实现什么效果
(1).间接赋值成立的三个条件
a.两个变量
b.建立关联
c. *p->
(2).函数指针做函数参数
a.调用的角度去理解:谁调用函数指针做函数参数的api函数,谁提供回调函数的入口地址
b.项目/工程意义:把任务的编写者 和任务的调用者 给解耦合
c.为什么 叫做回调:本来你去调用动态库 结果动态库 又来调用你写的api函数
2.多态的概念:
1.同样一个api 在不同的子类和父类之间穿梭的时候 表现出不同的形态
2.同一个舞台 向其中传入 子类对象、父类对象 ;执行对象api函数
多态的三个条件:
1.要有继承
2.要有虚函数重写
3.父类引用或者父类指针指向子类对象
多态的工程意义: 可扩展
C++编译器是如何实现多态 //vptr 虚函数
提前布局: C++编译器为函数虚函数的类的对象 提前布局 vptr和虚函数
虚函数
发生多态时:c++编译器 根本不需要区分是子类对象还是父类对象
因为每个对象中 都有一个vptr 通过vptr指针找到虚函数表 然后执行
c/c++中两颗璀璨的明珠的更多相关文章
- jsp中两种include的区别【转】
引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...
- sql一个表中两个字段合并求和
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total from TABLE
- C语言中两位ASCII码可以表示汉字
最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...
- (转)C#中两个问号和一个问号 ??
小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...
- Java泛型01--任意数组中两元素交换
package com.zl.generic; /** * 交换“任意”数组 中两个元素 */ public class GenericSwapArray { public static void m ...
- jquery选择器中两个class是什么意思?
jquery选择器中两个class是什么意思? $(".class1 .class2") 选择class1元素下class2的元素(中间有空格)$(".class1.cl ...
- js中两个对象的比较
代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...
- 输出有序数组的中两个元素差值为指定值diff的两个元素
题目: 输出有序数组的中两个元素差值为指定值diff的两个元素. 思路: 这与输出两个元素的和的值为一定值类似,需要两个指针,不同的是:指针不是一左一右,而是一前一后. 如果差值等于diff,则返回: ...
- virtual box 中两个虚拟机 、宿主机 三机互通并且能上外网设置
virtual box 中两个虚拟机 .宿主机 三机互通并且能上外网设置 1:背景:因为需要学习linux,所以需要在虚拟机里装linux系统,测试要么宿主机与虚拟机linux网络实验测试:要么另一台 ...
随机推荐
- HTML5--拖动01
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Eclipse安装svn插件的几种方式
Eclipse安装svn插件的几种方式 1.在线安装: (1).点击 Help --> Install New Software... (2).在弹出的窗口中点击add按钮,输入Name(任意) ...
- PHP日常开发工具-Sublime应用
工欲善其事,必先利其器.这里我推荐Sublime Text3做为PHP编辑器,以下简称为ST3,因为不仅系统资源占用小.打开快速,并且还有如下优点: 插件多,类似Emmet信手拈来,非常顺手. UI很 ...
- UWP toast
Windows10的自适应和交互式toast通知是一个新特性.它可以让你: 创建灵活的toast通知,包括内嵌图片及更多的内容,不在局限于之前Windows 8.1和Windows Phone 8.1 ...
- CentOS7安装ftp服务器
一.问题的提出 想在windows环境下远程连接CentOS的文件并编辑 二.问题的解决 # 安装vsftp服务[root@localhost ~]# yum -y install ftp vsftp ...
- html5,格式的验证
<form action="" method="get"> <input type="text" name=&quo ...
- YbSoftwareFactory 代码生成插件【十五】:Show 一下最新的动态属性扩展功能与键值生成器功能
YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. 一.动态属性扩展 在实际的开发过程中,你肯定会遇到数 ...
- webService-cxf
官网必备包,自己研究api:http://cxf.apache.org/download.html 然后就是一个简单的例子了: 先服务端: package com.cxf; import javax. ...
- linux date时区修改
# vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) [root@localhost ~]# dateFr ...
- webpack配置技巧--路径
resolve: { extensions: ['', '.js', '.vue'], fallback: [path.join(__dirname, '../node_modules')], ali ...