题很多,先上题后上答案,便于大家思考
问题点:
1、C和C 的特点与区别?
2、C 的多态
3、虚函数实现
4、C和C 内存分配问题
5、协程
6、CGI的了解
7、进程间通信方式和线程间通信方式
8、TCP握手与释放
9、http和https的区别?
10、虚拟内存的概念与介绍
11、单链表的反转算法
12、红黑树以及其查找复杂度
13、KPM字符串匹配
14、TCP超时等待、重传以及流量控制
15、数据库引擎
16、数据库索引
1、C和C 的特点与区别?
答:(1)C语言特点:
1.作为一种面向过程的结构化语言,易于调试和维护;
2.表现能力和处理能力极强,可以直接访问内存的物理地址;
3.C语言实现了对硬件的编程操作,也适合于应用软件的开发;
4.C语言还具有效率高,可移植性强等特点。
(2)C 语言特点:
1.在C语言的基础上进行扩充和完善,使C 兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;
2.可以使用抽象数据类型进行基于对象的编程;
3.可以使用多继承、多态进行面向对象的编程;
4.可以担负起以模版为特征的泛型化编程。
C 与C语言的本质差别:在于C 是面向对象的,而C语言是面向过程的。或者说C 是在C语言的基础上增加了面向对象程序设
计的新内容,是对C语言的一次更重要的改革,使得C 成为软件开发的重要工具。
2、C 的多态
答:C 的多态性用一句话概括:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来
调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。
1):用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数;
2):存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是
和对象对应的;
3):多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态性。;
4):多态用虚函数来实现,结合动态绑定.;
5):纯虚函数是虚函数再加上 = 0;
6):抽象类是指包括至少一个纯虚函数的类;
纯虚函数:virtual void fun()=0;即抽象类,必须在子类实现这个函数,即先有名称,没有内容,在派生类实现内容。
3、虚函数实现
答:简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类
所有的虚函数对应的函数指针。例: