c++工程师面试题目2023.docx
《c++工程师面试题目2023.docx》由会员分享,可在线阅读,更多相关《c++工程师面试题目2023.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c+工程师面试题目2023c+工程师面试题目2023在面试时,会有一些面试官通常都会问到的问题。针对这些常见 面试问题,我们提前预备好自己的答案,是非常有必要的。下面我给 大家带来C+工程师面试题目2023,期望能帮忙到大家!C+工程师面试问题1、C+是面对对象的编程语言吗?C+中虚函数(virtual)是什 么?有什么好处?(DC+不是纯面对对象的语言,C+是面对对象和过程的,由于 C+支持类和过程。(2)虚函数(virtual)具有传递性,即子类中对父类的虚函数的重 写,也是一个虚函数,不过函数的参数表也要一样。(3)可以让成员函数操作一般化,用基类的指针指向不同的派生 类的对象时,基类指
2、针调用其虚成员函数,则会调用其真正指向对象 的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成 员函数)。若不是虚函数,则不管基类指针指向的哪个派生类对象, 调用时都会调用基类中定义的那个函数。2、谈谈指针和引用的区分?指针用操作符和,引用使用操作符.相同点是:指针与引用都是让你间接引用其他对象。B.应用程序在消息循环中调用GetMessage函数从消息队列中 取出一条一条的消息,取出消息后,应用程序可以对消息进行一些预 处理。C.应用程序调用DispatchMessage,将消息回传给操作系统。D.系统利用WNDCLASS结构体的IpfnWndProc成员保存的窗口过 程函数的指针
3、调用窗口过程,对消息进行处理。8.如何定义和实现一个类的成员函数为回调函数A.什么是回调函数?简而言之,回调函数就是被调用者回头调用调用者的函数。使用回调函数实际上就是在调用某个函数(通常是API函数)时, 将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那 个被调用函数。而该被调用函数在需要的时候,利用传递的地址调用 回调函数。回调函数,就是由你自己写的,你需要调用另外一个函数,而这 个函数的其中一个参数,就是你的这个回调函数名。这样,系统在必 要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完 成你要做的事。B.如何定义和实现一个类的成员函数为回调函数要定义和实现一个类
4、的成员函数为回调函数需要做三件事: a.声明;b.定义;c.设置触发条件,就是在你的函数中把你的回调函数名作为一个 参数,以便系统调用如:一、声明回调函数类型typedef void (FunPtr)(void);二、定义回调函数class A(public:AO;static void callBackFun(void) 回调函数,必需声明为 staticcoutcallBackFunvirtual A();三、设置触发条件void Funtype(FunPtr p) p(); void main(void)Funtype(A:calIBackFun);C.回调函数与API函数回调和API特
5、别接近,他们的共性都是跨层调用的函数。但区分 是API是低层供应给高层的调用,一般这个函数对高层都是已知的; 而回调正好相反,他是高层供应给底层的调用,对于低层他是未知 的,必需由高层进行安装,这个安装函数其实就是一个低层供应的 API,安装后低层不知道这个回调的名字,但它通过一个函数指针来 保存这个回调函数,在需要调用时,只需引用这个函数指针和相关的 参数指针。其实:回调就是该函数写在高层,低层通过一个函数指针保存这 个函数,在某个大事的触发下,低层通过该函数指针调用高层那个函 数。1、局部变量能否和全局变量重名?能,局部会屏蔽全局。要用全局变量,需要使用:局部变量可以与全局变量同名,在函数
6、内引用这个变量时,会用 到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在 同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都 定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体 内。2、如何引用一个已经定义过的全局变量?extern可以用引用头文件的方式,也可以用extern关键字,假如用引 用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个 变写错了,那么在编译期间会报错,假如你用extern方式引用时, 假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报 错。3、全局变量可不行以定义在可被多个.C文件包含的头文件中? 为什么?可以,在不同
7、的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。4、语句for( ;1 ;)有什么问题?它是什么意思?无限循环,和while(1)相同。5、dowhile 和 whiledo 有什么区分?前一个循环一遍再推断,后一个推断以后再循环。6、请写出下列代码的输出内容#includemain ()(int a, b, c, d;a=10;b=a+;c=+a;d=10_a+;printf( b, c, d: %d, %d,,b, c, d);return 0;答:10, 12, 1207、请找出下面代码
8、中的所以错误说明:以下代码是把一个字符串倒序,如“abed”倒序后变为 “deba”include “string, h”main ()(char src= hello, world”;char_ dest=NULL;int len=strlen(sre);dest= (char_)malloc(len);char_ d=dest;char_ s=srclen;while(len - !=0) d+=s -;printf( a%s,dest);return 0;)答:方法1:int main()char_ src = hello, world” ;int len = strlen(src);c
9、har_ dest = (char_)ma,Hoc (len+1);要为0 安排一个空间char_ d = dest;char_ s = srclenT;指向最终一个字符while( len - != 0 )_d+=_s -;d = 0;尾部要加要printf( a%snv , dest);free(dest);使用完,应当释放空间,以免造成内存汇泄露return 0;)方法2:include#includemain ()(char str 口二” hello, world”;int len=strlen(str);char t;for (int i=0; i t=str i: stri=st
10、rlen-i-1 ; strlen-i-l=t; printf (%s, str);return 0;)C+面试题目1 .介绍一下STL,具体说明STL如何实现vector。STL (标准模版库,Standard Template Library)它由容器算法 迭代器组成。STL有以下的一些优点:可以便利简单地实现搜寻数据或对数据排序等一系列的算法;调试程序时更加平安和便利;即使是人们用STL在UNIX平台下写的代码你也可以很简单地理 解(由于STL是跨平台的)。vector实质上就是一个动态数组,会依据数据的增加,动态的增 加数组空间。2 .假如用VC开发程序,常见这么几个错误,C2023,
11、 c2023, c2023, 这些错误的缘由是什么。在学习VC+的过程中,遇到的LNK2023错误的错误消息主要为:unresolved external symbol “symbol”(不确定的外部“符 号”)。假如连接程序不能在全部的库和目标文件内找到所引用的函数、 变量或标签,将产生此错误消息。一般来说,发生错误的缘由有两个:一是所引用的函数、变量不 存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。编程中常常能遇到LNK2023错误一一重复定义错误,其实 LNK2023错误并不是一个很难解决的错误.3 .继承和委派有什么分别,在打算使用继承或者委派的时候需要 考虑什么。在0
12、0D, OOP中,组合优于继承.当然多态的基础是继承,没有继承多态无从谈起。当对象的类型不影响类中函数的行为时,就要使用模板来生成这 样一组类。当对象的类型影响类中函数的行为时,就要使用继承来得到这样 一组类.4 .指针和引用有什么分别;假如传引用比传指针平安,为什么? 假如我使用常量指针莫非不行吗?(1)引用在创建的同时必需初始化,即引用到一个有效的对象; 而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋 值.区分:(1).指针是一个实体,指向一块内存,它的内容是所指 内存的地址;而引用仅是个别名,是某块内存的别名。(2) .引用使用时无需解引用(_),指针需要解引用;(3) .
13、引用只能在定义时被初始化一次,之后不行变,“从一而 终”;指针可变;(4) .引用没有const类型,指针有const类型,const的指针 不行变;(5) .引用不能为空,指针可以为空;(6) . “sizeof引用”得到的是所指向的变量(对象)的大小,而 sizeof指针”得到的是指针本身(所指向的变量或对象的地址)的 大小;typeid(T)二二 typeid(T)恒为真,sizeof (T)=二 sizeof (T)恒 为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准 的规定)。(7) .指针和引用的自增(+)运算意义不一样;3. int m = 100, n = 101;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 工程师 面试 题目 2023
限制150内