我们之前学习了函数重写,它便是在父类中被重写的函数依然会继承给子类,那么子类中重写的函数将覆盖父类中的函数,通过作用域分辨符(::)可以访问到父类中的函数。最后在全局函数中通过传递父类的指针,传递进去的是子类对象,竟然调用的不是子类中的成员函数。 下来我们就先来介绍一个概念,那便是 C++ 中的三大特性之一多态。我们在面向对象中期望的行为是:根据实际的对象类型来自动判断调用的重写函数。父类指针(引用)指向,如果是父类对象则调用父类中定义的函数,如果是子类对象则调用子类中定义的重写函数。 面向对象中的多态的概念:根据实际的对象类型决定函数调用的具体目标,同样的调用语句在实际运行时有多种不同的表现形态。
分类:
其他好文 时间:
2018-05-29 10:58:06
阅读次数:
144
1、关于值传递、引用传递与指针传递 当一个变量或者新值被创建时, 如果没有为其明确指定初始值,go语言会自动初始化其值为此类型对应的零值, 各类型零值如下: false : bool, 0: integer 0.0: float "": string nil : pointer, function, ...
分类:
其他好文 时间:
2018-05-10 15:34:08
阅读次数:
196
在C语言中为了节省空间,提高运行速度经常使用指针来完成数组的传递。 对于一维数组而言可以直接传递首地址 而对于二维数组必须在传递时声明是二维数组的指针,并且调用时也要经过一些运算 首先是定义形参: 函数名(int *arg) 向这个形参传递实参: 函数名(&data[0][0]) 取出i行j列的一个 ...
分类:
编程语言 时间:
2018-04-29 22:09:34
阅读次数:
192
1. 常用的gdb命令1)显示代码 - listlist 显示10行代码list 1 显示1-10行,再键入list或者回车,显示下面10行代码list 1,20 显示1-20行 2)设置断点 - breakbreak 15 在第15行设置断点break func 在函数func()入口设置断点in ...
分类:
数据库 时间:
2018-04-24 11:46:39
阅读次数:
284
C/C++中传参方式可分三种:值传递(传副本)、指针传递(传地址)、引用传递(传别名)。 (1)值传递:其实是一种赋值操作,实参传递给形参时会产生额外的副本,形参只是实参的拷贝,所以函数内对形参的操作不会更新到源实参。在函数结束时,形参作为局部变量会被释放,对实参不会产生任何影响。若为类的对象会调用 ...
分类:
编程语言 时间:
2018-03-22 01:38:16
阅读次数:
201
由 & 引发的对C++中值传递、指针传递、引用传递的探讨 问题出于今天在写Leetcode时,在Discuss中发现的 & 写法,于是找了一些相关资料,并且整理如下。 首先,说一下C++ 中 a 和 &a作为函数的参数时的区别 在之前写代码中,我们当遇到形如 这样的函数声明时,函数的形参是一个指针, ...
分类:
编程语言 时间:
2018-03-08 02:42:15
阅读次数:
184
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址空间划分 通常32位Linux内核地址空间划分0~3G为用户空 ...
分类:
系统相关 时间:
2018-02-13 17:56:59
阅读次数:
1468
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 引用最大的好处就是提高函数效率以及节省空间; 关键问题一、传递引用与传指针、传值的区别? 值传递 (pass by value),指针传递(pass by pointer), ...
分类:
编程语言 时间:
2018-02-13 13:35:39
阅读次数:
198
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址空间划分 通常32位Linux内核地址空间划分0~3G为用户空 ...
分类:
系统相关 时间:
2018-02-12 18:48:49
阅读次数:
240
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的 ...
分类:
系统相关 时间:
2018-02-12 18:38:20
阅读次数:
240