4个问题,每题50分,详细阐述.(200分)

  • 主题发起人 主题发起人 卷起千堆雪tyn
  • 开始时间 开始时间

卷起千堆雪tyn

Unregistered / Unconfirmed
GUEST, unregistred user!
Q5:请讲一讲析构函数和虚函数的用法和作用?

Q6:全局变量和局部变量,操作系统和编译器是怎么知道的?

Q7:关于寄存器的,主要讲讲寻址和内存管理等一些知识。

Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
 
面试题?
 
5、析构函数是对象在释放时自动调用的,主要用来释放资源
; ;虚函数是给继承者重载用的,
6、编译器根据代码里的声明,
; ;操作系统根据变量的指针范围
7、

8、如果8086是16位的CPU,那它的CPU总线、数据总线是16位的
; ;如果8086是准16位的CPU,那它的CPU总线是16位、数据总线是8位的

; ;呵呵,有些东西记不起来了。
 
呵呵!我来补充上面没答的一题:
Q7 ; http://www.5xsoft.com/data/200109/1108240901.htm
 
8、8086的CPU是16位的,但是他的址是采用段偏移法(具体我记不清了)
可以达到18还是20位!(也记不清了)
6、至于全局与局部我想 C里的 全局变量 肯定是 far的指针
 
Q5: 构造函数负责生成对象分配资源,析构函数则负责在销毁对象之前回收资源。
; ; 你可以在某个类的析构函数里加一个断点,看看什么时候会调用
; ;
; ; 虚函数和析构函数没什么联系,虚函数是为了实现OO里的多态特性的。从结构
; ; 化编程的角度不太容易理解这个问题,但是真正懂了以后会觉得其实很简单,
; ; 我记得DFW上曾经有人贴过一篇不错的文章,应该是nicrosoft贴的,你可以查
; ; 一查。
 
老大这些问题,如果叫我讲几句还好,要打字,吃不消
Q5: 去看看,<Thinking in C++> & <Thinking in Java> 你就会找到满意的答案拉。
Q6: ;操作系统好象不要管这个东西吧? 是编译器管的事情。 这个去看看台湾候俊杰 的书
Q7,Q8 就是计算机系统原理的书中的基本概念
; ; ; 8086 16位,地址20位, 通过地址偏移
 
你是不是去华为面试?
 
这些问题真要讲清楚还真有些难度哦:((
 
你先告訴我你是不是計算機專業的
 
Q5析构是针对构造而言的,是对构造中在内存中生成的对象予以释放,一般用于程序结束
; 后做清场工作。虚函数从某种意义上讲是为继承者提供一个通用的做某一工作的统一名
; 词,继承者必须用这个名词完成它的前辈的未竟事业。
Q8 8086是16位数据线,20位地址线,产用指令预取技术,取指和运算可同时进行。
Q7 老式机上知道一点,就是 ABCD(X) 做为数据或基地址寄存器,A一般做为运算单元。
; ;IP 是指令控制器,CDSE(S) 分别指向代码段,数据段,堆栈段,和附加段...
; ;段址:偏址 的换算是 1000:80 = 10080 。
; ; ;
 
8088 是准16位的CPU(8080+8085组成)
8086 是16位CPU 外部数据线有20位,寻址有1MB
; ; ;当数据为指令时, 段寄存器CS 左移4位+ 16位偏移量 = 20位地址
; ; ;当数据在堆栈中, 段寄存器SS 左移4位+ 16位偏移量 = 20位地址
; ; ;当数据为数据时, 段寄存器DS、ES左移4位+ 16位偏移量 = 20位地址
; ; ;
累死我了:(
 
Q7寻址分为直接寻址和间接寻址,直接寻址是直接用操作数访问目标地址,
如把ax内容放如DS:100中,间接寻址是通过寄存器来得到目标地址,
如把AX内容放如[IP]中,就是把AX的内容放入IP中数据所对应的地址中,
寻址实际上内容比较多,你最好还是找一本书看.
Q8 8086内部和外部都是16位的,地址20位,8088与它类似,外部总线8位
Q5 看楼上各位
Q6 lha说的对
 
关于析构函数和虚函数补充一点:
一般,如果你打算一颗继承树有多态性,那么应该把析构函数声明为虚方法。
 
無聊﹐還是先去肯肯書吧
 

Similar threads

后退
顶部