1、Windows程序入口是main函数。
2、Windows消息调度机制:
1)指令队列 2)指令堆栈 3)消息队列 4)消息堆栈
解析:处理消息队列的顺序,首先Windows绝对不是按队列先进先出的次序来处理,而是有一定优先级的。优先级通过消息队列的状态标志来实现。
3、关于C++函数的重载、覆盖和隐藏区别:
A. 成员函数被重载的特征:
(1)相同的范围(在同一个类)
(2)函数名字相同
(3)参数不同
(4)vitual关键字可有可无
B.覆盖是指派生类函数覆盖基类函数,特征:
(1)不同的范围(分别位于派生类与基类)
(2)函数名字相同
(3)参数相同
(4)基类函数必须有virtual关键字
C."隐藏"是指派生类的函数屏蔽了其同名基类函数,规则:
(1)如果派生类的函数与基类的函数同名,但参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是其基类函数没有virtual关键字。此时,基类的函数被隐藏。
总结:
(1)成员函数被重载,是在一个类中,具体的概念上面已经有表述。
(2)覆盖指派生类函数覆盖基类函数,从其特征可以看出,它是为了实现多态的效果。描述了要实现多态的必要条件。
(3)“隐藏”是指派生类的函数屏蔽了其同名的基类函数其特征实际上要实现多态的效果所要的充要条件。
4、指针和引用的区别,阐述引用。
(1)指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用仅是一个别名。
(2)引用使用时,无需解引用(*),指针需要解引用。
(3)引用只能在定义时被初始化一次,之后不可改变;指针可变
(4)引用没有const,指针有const。
(5)引用不能为空,指针可以为空。
(6)“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身的大小。
(7)指针和引用的自增(++)运算意义不一样。
(8)指针可以有多级,但是引用只能是一级。(int **p)合法,而(int&&P)不合法。
(9)从内存分配上看,程序为指针变量分配内存区域,而引用不需要分配内存区域。