没有合适的资源?快使用搜索试试~ 我知道了~
C++历年面试经典题目中包括了最近多年关于C++语言面试的一些经典问题,以及需要注意的事项
资源详情
资源评论
资源推荐
电脑报
CPCW
社区 » 编程魔方 » C++的一些面试题
页: [1]
真诚的海
C++的一些面试题
5. 通常类 A 的拷贝构造函数的原
型写为 A(const A&);,请问为什
么参数一定要使用引用形式?使
用 const 修饰符除了可以防止修
改传递给构造函数的实参外,还
有什么作用?(3 分)
1#include
“filename.h” 和
#include
<filename.h>的区别?
搜寻路径的区别, 后者是标准库
头文件
2头文件的作用是什
么?
1,代码重用(共享性信息的载体),
使得维持某些共享信息的一致性
容易 2 隔离接口和实现 3 为提高
速度有预编译头
3C++函数中值的传
递方式有哪几种?
1,传值 2, 传引用(包括指针)
4内存的分配方式的
分配方式有几种?
他们分别是堆(new)、栈、自由存
储区(malloc)、全局/静态存储区
和常量存储区
5实现双向链表删除
一个节点 P,在节点
P 后插入一个节点,
写出这两个函数;
2005-6-19 22:30
6写一个函数,将其
中的\t 都转换成 4 个
空格。
7Windows 程序的入
口 是 哪 里 ? 写 出
Windows 消息机制的
流程.
答 消息机制:系统将会维护一个
或多个消息队列,所有产生的消息
都会被放入或是插入队列中。系统
会在队列中取出每一条消息,根据
消息的接收句柄而将该消息发送给
拥有该窗口的程序的消息循环。每
一个运行的程序都有自己的消息循
环,在循环中得到属于自己的消息
并根据接收窗口的句柄调用相应的
窗口过程。而在没有消息时消息循
环就将控制权交给系统。
补充知识:
Windows
是一个典型的消息驱动
的操作系统,程序的运行是靠对
各种消息的响应来实现的,这些
消息的来源非常广泛, 既包括
Windows
系 统 本 身 , 如
WM_CLOSE 、 WM_PAINT 、 W
M_CREATE 和 WM_TIMER 等常
用消息,又包括用户菜单选择、
键盘加速键以及工具条和对话框
按钮等等,如果应用程序要与其
它程序协同工作,那么消息的来
源还包括其它应用程序发送的消
息,串行口和并行口等硬件发送
的消息等等。总之,Windows
程
序的开发是围绕着对众多消息的
合理响应和实现来实现程序的各
种功能的。使用过 C
语言 来开发
Windows
程 序 的 人 都 知 道 , 在
Windows
程序的窗口回调函数中
需要安排 Switch 语句来响应大量
的消息,同时由于消息的间断性
使得不同的消息响应之间信息的
传递是通过大量的全局变量或者
静态数据来实现的。
8如何定义和实现一
个类的成员函数为回
调函数?
回调用于层间协作,上层将本层
函数安装在下层,这个函数就是
回调,而下层在一定条件下触发
回调,例如作为一个驱动,是一
个底层,他在收到一个数据时,
除了完成本层的处理工作外,还
将进行回调,将这个数据交给上
层应用层来做进一步处理,这在
分层的数据通信中很普遍。其实
回调和 API 非常接近,他们的共
性都是跨层调用的函数。但区别
是 API 是低层提供 给高 层的 调
用,一般这个函数对高层都是已
知的;而回调正好相反,他是高
层提供给底层的调用,对于低层
他是未知的,必须由高层进行安
装,这个安装函数其实就是一个
低层提供的 API,安装后低层不
知道这个回调的名字,但它通过
一个函数指针来保存这个回调,
在需要调用时,只需引用这个函
数指针和相关的参数指针。???
其实: 回调就 是该函数 写在高
层,低层通过一个函数指针保存
这个函数,在某个事件的触发
下,低层通过该函数指针调用高
层那个函数。
对于一般的结构化语言,可以通
过回调函数来实现回调。回调函
数也是一个函数或过程,不过它
是一个由调用方自己实现,供被
调用方使用的特殊函数。
在面向对象的语言中,回调则是
通过接口或抽象类来实现的,我
们把实现这种接口的类成为回调
类,回调 类的对 象成为 回调对
象。对于象 C++或 Object Pascal
这些兼容 了过程 特性的 对象语
言,不仅提供了回调对象、回调
方法等特性,也能兼容过程语言
的回调函数机制。
Windows 平台的消息机制也可以
看作是回调的一种应用,我们通
过系统提供的接口注册消息处理
函数(即回调函数),从而实现
接收、 处理消 息的目的。由于
Windows 平台的 API 是用 C 语言
来构建的,我们可以认为它也是
回调函数的一个特例。
。许多编译器有几种调用规范。
如在 Visual C++中,可以在函数
类 型 前 加 _cdecl , _stdcall 或 者
_pascal 来表示其调用规范(默认
为 _cdecl ) 。 C++ Builder 也 支
持_fastcall 调用规范。调用规范
影响编译器产生的给定函数名,
参数传递的顺序(从右到左或从
左到右),堆栈清理责任(调用
剩余23页未读,继续阅读
woainihuiguniang12
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0