1. 面向对象的特征
继承,封装,多态
2. 重写和重载的区别
重写:在继承当中,子类重写父类的函数,函数声明完全一样,只是函数里面的操作不一样,这样叫做重写。
重载:与多态无关,即两个函数名一样的成员函数,只是他们的形参个数或数据类型不同,在调用函数的时候,程序可以自动根据调用函数时的参数个数和类型确定使用哪一个成员函数。这样叫做重载,是多态性的一种表现。
3. 引用和多态有什么关系
引用是除了指针以外另一种实现多态的方式,使用父类的指针指向子类的对象。
4. 计算机加载程序包括哪几个区?(答案是摘抄来的~)
一个由C/C++编译的程序占用的内存分为以下几个部分
(1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
(2)、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
(3)、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(BSS)。 - 程序结束后由系统释放
(4)、文字常量区 — 常量字符串就是放在这里的。 程序结束后由系统释放
(5)、程序代码区— 存放函数体的二进制代码。
5. 进程间有哪些通信方式?
信号量,消息队列,Socket,共享内存
6. TCP/IP三次握手协议
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
7. 什么是ARP协议?(这个问题没有答出来。。)
Address Resolution Protocol,地址解析协议。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。属于数据链路层的协议。