c++面试技巧-基础篇4
创始人
2024-05-31 09:02:21
0

1.面试官:在使用继承时需要注意哪些问题?

应聘者:在使用继承时需要注意以下内容。

(1)父类的构造函数和析构函数是不会被继承的,需要重写派生类的构造函数和析构函数。

(2)派生类的成员数据中有来自父类的成员数据,因此在写派生类的构造函数的时候需要调用其父类的构造函数。

(3)如果派生类的成员中有成员对象,那么也需要用成员对象名来进行初始化。

(4)派生类构造函数、析构函数的调用顺序如下:

①构造函数中首先调用各个直接基类的构造函数,之后再调用成员对象的构造函数,最后才是新增成员的初始化。

②对于多继承有多个基类,那么其构造函数的调用顺序是按被继承时的声明顺序,从左到右一次调用,与初始化表的顺序无关。

③对于成员对象的初始化也是一样,与它们的声明顺序有关,和构造函数中的初始化表的顺序无关。

④如果没有进行显示的调用,那么会调用其默认的构造函数。

⑤子类的复制构造函数也要为各个直接基类的复制构造函数传递参数。

⑥在派生类的析构函数中不会显示调用基类的析构函数,系统会自动隐式调用,调用顺序和构造函数的调用顺序正好相反,先构造的后析构。

2.面试官:C++多态是如何实现的,及其原理是什么?

应聘者:C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。

(1)用virtual关键字声明的函数叫作虚函数,虚函数肯定是类的成员函数。

(2)存在虚函数的类都有一个一维的虚函数表叫作虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。

(3)多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态性。

(4)多态用虚函数来实现,结合动态绑定。

(5)纯虚函数是虚函数再加上“= 0”。

(6)抽象类是指包括至少一个纯虚函数的类。纯虚函数:“virtual void fun()=0;”即抽象类!必须在子类实现这个函数,即先有名称,没有内容,在派生类中实现内容。

3.面试官:运算符重载作为类成员函数和友元函数之间的区别?

应聘者:在多数情况下,将运算符重载为类的成员函数和类的友元函数都是可以的。但成员函数运算符与友元函数运算符也具有各自的一些特点:

(1)一般情况下,单目运算符最好重载为类的成员函数;双目运算符则最好重载为类的友元函数。

(2)以下一些双目运算符不能重载为类的友元函数:=、()、[]、->。

(3)类型转换函数只能定义为一个类的成员函数而不能定义为类的友元函数。

(4)若一个运算符的操作需要修改对象的状态,选择重载为成员函数较好。

(5)若运算符所需的操作数希望有隐式类型转换,则只能选用友元函数。

(6)当运算符函数是一个成员函数时,最左边的操作数(或者只有最左边的操作数)必须是运算符类的一个类对象(或者是对该类对象的引用)。如果左边的操作数必须是一个不同类的对象,或者是一个内部类型的对象,该运算符函数必须作为一个友元函数来实现。

(7)当需要重载运算符具有可交换性时,选择重载为友元函数。

4.面试官:什么是I/O流?

应聘者:在C++中,将数据从一个对象到另一个对象的流动抽象为“流”(stream)。当输入时,所输入的信息是从键盘对应的缓冲区中流入正在运行的程序的缓冲区,这些输入的信息称为“输入流”,该操作称为“读操作”。当输出时,数据从程序流向屏幕或磁盘文件,称为“输出流”,该操作称为“写操作”。

5.面试官:get()和getline()有什么区别?

应聘者:get()函数每次只能读取一个字符,而getline()函数可以读取整行数据,包括空白在内。 

6.面试官:C++为什么不使用标准I/O函数?

应聘者:C语言中提供两个标准I/O函数,格式分别如下: 

 

printf(格式控制符,输出变量1,输出变量2...);
scanf(格式控制符,输出变量1的地址,输出变量2的地址...);

两个函数都用格式控制字符串,在使用时都要求后面的变量个数和变量类型都要与前面字符串中给出的格式符的格式对应一致。但由于程序员的疏忽,这种不匹配时有发生,从而产生错误的结果,甚至使系统不能工作。

而且这两个I/O函数不具有可扩充性。格式控制字符串中,所有控制符只适用于内部定义数据类型。C语言的I/O函数没有提供对用户定义对象的支持。因此,C语言的I/O函数没有灵活性和可扩充性,不能针对实际的类对象产生重载函数。

相关内容

热门资讯

写给初一的自己作文500字【... 写给初一的自己作文500字 篇一亲爱的初一的我:你好!你现在已经进入初中生活,迈入了一个新的阶段。回...
我的爸爸作文(精选6篇) 我的爸爸作文 篇一爸爸,你是我心中最伟大的人我的爸爸是一个平凡而又伟大的人。他有着坚韧的意志和无私的...
背影初中作文(优选6篇) 背影初中作文 篇一背影初中作文在生活中,我们都会遇到许多人,其中有些人会给我们留下深刻的印象。而在我...
墙的故事中考作文【经典3篇】 墙的故事中考作文 篇一墙的故事中考作文墙,是我们生活中常见的存在,无论是家庭住宅的分隔墙,还是城市的...
我最讨厌的人500字初一作文... 我最讨厌的人500字初一作文 第一篇从小到大,不知不觉间,近5000天的日子,悄悄从我们指间溜走。在...
那些人那些事初一作文(精彩3... 篇一:那些人那些事初一作文初中生活就像一部精彩的电影,里面有各种各样的人物和故事。在这个阶段,我遇到...
你是我最敬佩的人中考作文(精... 你是我最敬佩的人中考作文 篇一我最敬佩的人是我的父亲。他是一个平凡的农民,但他的坚韧、勤劳和乐观的精...
中考高考英语作文范文模板【推... 中考高考英语作文范文模板 篇一标题:The Importance of Time Managemen...
中考事后记(最新5篇) 中考事后记 篇一中考是每个初中生都要经历的一场重大考试,对于我来说也不例外。回顾这次中考,我有许多感...
优秀中考作文开头(优质3篇) 优秀中考作文开头 篇一我的梦想之旅人生的旅程,仿佛是一场精心设计的旅行,每个人都有自己的目的地和梦想...
中考满分作文:心旷神怡【精简... 中考满分作文:心旷神怡 篇一心旷神怡——探索自然的乐趣自然是一座无垠的宝库,它的美丽和奥妙无法用言语...
历年中考满分作文【优秀6篇】 历年中考满分作文 篇一标题:互联网对青少年的影响互联网已经成为现代社会中不可或缺的一部分,给我们的生...
中考加油作文(实用6篇) 中考加油作文 篇一中考加油作文近日,我即将迎来人生中的重要一刻——中考。在这漫长的三年中,我付出了大...
就这样,埋下一颗种子中考作文... 就这样,埋下一颗种子中考作文篇一随着时间的推移,中考的脚步越来越近,我感受到了胸口的紧迫感。这次中考...
青春与爱同行中考范文(精选6... 青春与爱同行中考范文 篇一初中生活即将结束,我对这段时光充满了感慨和思考。回想起这三年来的点点滴滴,...
太阳作文(精选3篇) 太阳作文 篇一太阳,这是我们熟悉的天体之一。它是地球的中心,为我们提供了光和热,使我们能够生存。太阳...
中考大山(通用3篇) 中考大山 篇一大山,是我心中最美的地方。每当我想起中考时的那个夏天,总会想起我和同学们一起攀登大山的...
中考文言文必考篇目重点翻译句... 篇一:中考文言文必考篇目重点翻译句子文言文作为中考必考的一项内容,对学生的翻译能力要求较高。下面是几...
中考语文考试重点分析范文【精... 中考语文考试重点分析范文 篇一中考语文考试重点分析范文语文考试一直是中考中最重要的科目之一,它不仅考...
中考英语词语辨析:alive... 中考英语词语辨析:alive/ living/ the living/ 篇一标题:The Diffe...