C++的虚函数试题,常考!!
#include <iostream>
#include <cstring>
#include <string.h>
#include <stdio.h>
using namespace std; class parent
{
public:
virtual void output();
virtual void aaa();
};
void parent::output()
{
cout<<"parent";
aaa();
}
void parent::aaa()
{
cout<<"aaa";
}
class son:public parent
{ public:
virtual void output();
virtual void aaa();
};
void son::output()
{
cout<<"son";
aaa();
}
void son::aaa()
{
cout<<"bbb";
}
int main()
{
son s;
//memset(&s,0,sizeof(s));
parent &p=s;//reference
p.output();
cout<<endl;
parent *q=&s;//pointer
q->output();
return ;
}
输出
sonbbb
sonbbb
构造父类引用或者指针,在运行时才决定调用哪一个子类还是本身的函数,当没有virtual时,调用自己 的函数。
当有virtual时调用子类的同名复写函数。。。。 附加题
一颗完全2叉树有699个节点,求叶子结点?
对于完全二叉树,根节点到上一层节点的所有结点是512个,因此最后一层叶子结点是187个;
对应予上一层的父节点有187/2+1=94个;
上一层的所有结点数为,256;
因此上一层剩余的结点数位256-94=162个。并且这些结点就是叶子结点。
因此叶子结点总数为187plus162=349个
C++的虚函数试题,常考!!的更多相关文章
- 面试题常考&必考之--js闭包特性和优缺点 (外加小例子)
当内部函数被返回到外部并保存时,一定会产生闭包.闭包会产生原来的作用域链,不释放. 闭包,可以理解为,写一个函数,然后产生闭包的这种现象. 概念: 基础: 主要是:add reduce 被返回 ...
- 用CSS创建小三角形问题(笔试题常考)
笔试题中经常遇到用CSS实现某个Div边框添加三角形问题,掌握一点,合理利用div的边框,当div有宽有高时,边框就是不起眼的边框,当div的宽高为0时,边框就是一个小方块,把剩下的三个边透明就是神奇 ...
- 面试题常考&必考之--js中的call()和apply()
apply: 接受两个参数,第一个参数是要绑定给this的值,第二个参数是一个参数数组.当第一个参数为null.undefined的时候,默认指向window. call: 第一个参数是要绑定给thi ...
- 面试题常考&必考之--http访问一个页面的全流程(Tcp/IP协议)
分析:-http访问一个页面的全流程,也就好比我们在地址栏输入地址,然后点击回车进行访问 该面试题的主要考点是:计算机网络的TCP/IP协议栈 描述图片:首先应用层提交http请求,传到传输层后由,T ...
- 面试题常考&必考之--js中的难点!!!原型链,原型(__proto__),原型对象(prototype)结合例子更易懂
1>首先,我们先将函数对象认识清楚: 补充snow的另一种写法: var snow =function(){}; 2>其次:就是原型对象 每当我们定义一个函数对象的时候,这个对象中就会包含 ...
- 前端面试题常考&必考之--用jquery写出当前元素的同辈元素的第二个结点的value值
问题:用jquery写出当前元素的同辈元素的第二个结点的value值??? 分析:该题目有一个坑,那就是,如果当前元素没有第二个兄弟结点呢(坑坑坑) 解析: 一般我们可能会这样写: $(this).s ...
- HTTP常见的状态码——面试题常考
一些常见的状态码为: 200 - 服务器成功返回网页 400(错误请求)服务器不理解请求的语法. 404 - 请求的网页不存在 500(服务器内部错误)服务器遇到错误,无法完成请求. 503 - 服 ...
- 面试题常考&必考之--js中的数组去重和字符串去重
1.引入:首先得知道数组没有可以直接去重的方法,即直接[].unique()是不支持的, 会报“Uncaught TypeError: [].unique is not a function”错误, ...
- 面试题常考&必考之--js中的对象的浅拷贝和深拷贝(克隆,复制)(下)
这里主要是讲深拷贝: 深拷贝:个人理解就是拷贝所有的层级 1.像对象里再放数组和对象这些叫引用值.开始我们先判断大对象中是否有引用值(数组和小对象), 然后在判断引用值是数组还是对象 2.开始啦: 1 ...
随机推荐
- solrj索引操作
添加索引 Solr添加文档至索引: http://www.cnblogs.com/dennisit/p/3621717.html 删除索引: 每天索引记录有一个唯一标识,索引的删除通过唯一标识操作,如 ...
- 【Algorithm】九种常用排序的性能分析
最近间间断断的将9种排序算法用C实现,并且将其以博客笔记的形式记录下来,其中各个排序算法的描述部分特别参考了CSDN上太阳落雨的博客!现在就该来综合的分析这九种排序,让我们先来看看其算法复杂度和稳定性 ...
- opencv 中出现错误 -215:Assertion failed
cv2.error: OpenCV(4.0.1) D:\Build\OpenCV\opencv-4.0.1\modules\imgproc\src\color.cpp:181: error: (-21 ...
- 基于matplotlib的数据可视化 -
matplotlib.pyplot(as mp or as plt)提供基于python语言的绘图函数 引用方式: import matplotlib.pyplot as mp / as plt 本章 ...
- 编码 GBK 的不可映射字符
一般做项目公司都会统一要求文件编码类型,很多为了实现应用国际化和本地化和更高的性能,而选用UTF-8而非GBK. 但在开发过程中我们都用的是IDE,只要更改了配置就不用操心了,但有时我们也会用命令行来 ...
- Docker 的技术组件
Docker可以运行于任何安装了现代Linux内核的x64主机上.推荐的内核版本是3.8或者更高.Docker的开销比较低,可用于服务器.台式机或者笔记本.它包括以下几个部分. 一个原生的Linux容 ...
- Android中使用IntentService运行后台任务
IntentService提供了一种在后台线程中运行任务的方式,适合处理运行时间较长的后台任务. 长处: (1)IntentService执行在单独的线程中.不会堵塞UI线程 (2)IntentSer ...
- SharePoint 2013 实现多级审批工作流
上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流. 审批工作流介绍 这个De ...
- ASP.NET项目在IIS上使用虚拟目录
在IIS中,应用程序与虚拟目录特别容易混淆,但两者又是完全不同的概念. 应用程序是一个逻辑边界,这个边界可以分隔网站及其组成部分.虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程的物理路径.虚 ...
- xml中的<![CDATA[]]> 简介
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”. 此标记用于xml文档中,我们先来看看使用转义符的 ...