阿卜杜尔巴利

c++编程语言被用于广泛的技术需求,包括客户机-服务器系统、面向对象的数据库、实时系统设计,甚至像神经网络和并行编程这样的学科。c++在许多大型软件公司中使用,它可能会成为你简历中有用的技能。

通过研究这些共同的C ++面试问题,准备与潜在招聘经理会面。

以下是c++工作面试中最常被问到的50个问题。

学习c++编程-初学者进-深潜水在c++

最后更新于3月2021日

  • 279课
  • 所有级别
4.6 (9528)

课堂和实践会议- c++ 11的特点,异常处理和STL -为学术和行业|阿卜杜勒·巴里

探索课程

1. C和C ++之间有什么区别?

C是一种面向过程的编程(POP)语言,而c++语言支持面向对象。此外,c++还支持模板、继承、函数重载、虚函数、友函数和引用等特性。这些特性在C中不受支持。

2. oops代表什么?

OOPS代表面向对象编程系统(Object-Oriented Programming System),这是c++的分类方式。

3.什么是函数重载?

函数重载的概念是拥有多个同名函数。这些函数对于不同类型的功能应该有不同的参数。

4.操作员重新载荷是什么?

操纵预先存在的操作员的操作以实现不同的操作。

5.什么是c++中的类?

一个类是不同变量和不同函数的集合。变量称为数据成员,函数称为成员函数。

6.什么是朋友类?

如果一个类被作为另一个类的友元类提到,那么它可以访问另一个类的private和protected成员。

例子:

class class {private: int a;public: ClassA() {a=10;}朋友类FriendClass;};class FriendClass {private: int b;public: void printClassA(ClassA& p) {cout<< " a= " <

7.我们如何访问类的数据成员和成员函数?

DOT-Operator(。)有助于访问类的数据成员和成员函数。

8.什么是遗产?

继承是对象获取另一个类的属性的功能。

9.什么是不同类型的遗产?

有不同类型的遗产 -

  • 单继承
  • 多重继承
  • 多级继承
  • 分层继承
  • 混合继承

10.什么是单身遗传?

在单一继承中,有一个派生类和一个基类。

11.多级继承是什么?

在多级继承中,一个类从另一个派生类派生而来。

12.什么是多重继承?

这是一个可以使用多个父类派生类时。

13.什么是等级继承?

在分层继承中,许多类是从单个父类派生的。

14.混合遗传是什么?

这是一个以上遗产的组合,称为混合继承。它也被称为虚拟继承。

15.模板是什么?

模板是创建泛型类和泛型函数的方法。

16.什么是访问说明符?什么是不同类型的?

访问说明符定义类别的成员的可访问性。有三种类型的访问说明符:

  1. Private -它们只能从类内部访问
  2. 受保护的 - 像私人说明符,但具有额外的功能 - 它们也可以在派生类中访问
  3. Public -它们可以从类内部和外部访问

17.什么是朋友功能?

一个朋友的朋友函数可以访问类的所有成员,甚至是私有的。我们在课外宣布它。

18.什么是虚函数?

虚函数是声明为类成员函数的函数,但其定义在其派生类中。

19.什么是数据隐藏?

数据隐藏就是在对象中隐藏数据。这通常通过类的私有数据成员来实现。

20.什么是构造函数?

构造函数是类的特殊成员函数。当我们声明一个对象时,它初始化数据成员。

21.什么是副本构造函数?

复制构造函数是类的成员函数。当在创建类的新对象时调用时,它使用同一类的另一个对象初始化对象。要使用复制构造函数,应该已经存在该类的现有对象。

例子:

class Copy {private: int a;复制(int z) {a=z;} Copy(Copy &x) {a=x.a;} void print() {cout<< " a的值是" <

22.静态成员函数的使用是什么?

如果您构成了静态类的成员函数,则使其独立于类的任何对象。即使不存在该类的任何对象,也可以进行静态成员函数的函数调用。

23.使用多少种方式使用?

有很多方法可以使用范围解析。一些例子包括:

  • 在类外部定义成员函数
  • 在继承中访问各种类的数据成员

24.什么是内联函数?

如果函数是内联,则编译器将在编译时调用函数调用的每个点处的该函数的代码副本。

25.说明内联职能的优势。

内联功能增加了程序的执行时间。

26.结构和课程有什么区别?

结构的变量是公开的,而该类的数据成员可以作为私有。

27.本地和全局变量之间有什么区别?

在代码块中声明的变量称为局部变量。我们只能在代码块中使用这个局部变量。在程序的顶部,在所有函数定义之前声明一个全局变量。可以从代码的任何地方访问它。

28.什么是编译时间和运行时间?

编译器编译一段代码所花费的时间称为代码的编译时间。程序运行所花费的时间称为运行时间。

29.什么是赋值运算符?

我们使用赋值运算符将值分配给变量。它由'='表示。

30.什么是函数重写?

重新定义派生类中基类的成员函数是函数覆盖。

31.解释多态性。

如果对象遵循多态性,那么它在不同的条件下行动不同。有两种类型的多态性:

  1. 编译时间多态性(静态绑定)
  2. 运行时多态性(动态绑定)

32.内在课程是什么?

嵌套类是在另一个类中声明的类。

33.解释例外处理。

当程序中遇到某些异常时,使用异常处理。三个关键字用于异常处理:尝试,捕获,抛出。

34.什么是毁容?

析构函数是一种特殊的成员函数。析构函数销毁对象并释放空间。

35.虚拟析构函数的使用是什么?

当我们尝试使用基类指针删除派生类的对象时,遇到一些未定义。为防止这种情况,应在基类中定义虚拟析构函数。

36.什么是完整形式的STL?

STL代表标准模板库。

37.我们可以在集合中存储重复值吗?

不,我们无法在集合中存储重复值。

38.映射使用哪种类型的数据结构?

Map使用BST作为其数据结构。

39.我们可以初始化带数组的矢量吗?

是的,我们可以用数组初始化向量。

40. STL的一些组成部分是什么?

STL的一些组件是迭代器,容器和算法。

41.final怎么用?

在声明函数名时,我们在函数名后添加' final ',以防止在派生类中重写。

42.编写一个C ++程序,用于使用String迭代器查找字符串的长度。

# include using namespace std;int main(){string str =“欢迎”;string ::迭代器它;int count = 0;for(它= str.begin();它!= str.end();它++){cout <<“长度是”<< count << endl;返回0;}

43.编写一个c++程序将给定的字符串全部改为大写。

#include 使用命名空间std;int main(){string str =“welcomber7”;for(int i = 0; str [i]!='\ 0'; i ++){if(str [i]> = 97 && str [i] <= 122){str [i] = str [i]  -32;cout << str << endl;返回0;}

44.写一个c++程序来检查一个字符串是否为回文。

# include using namespace std;int main(){string str =“madam”;字符串rev =“”;int len =(int)str.length();Rev.resize(Len);for(int i = 0; j = len-1; i 

45.写一个C ++程序以显示功能模板。

# include using namespace std;模板 t maxim(t a,t b){返回一个>b?} int main() {cout<

46.写一个c++程序来显示指向一个对象的指针。

# include using namespace std;类矩形{公共:int长度;int宽度;Int area(){返回长度*宽度;} int周长(){返回周长2*(长度+宽度);}};Int main(){矩形r1;矩形* ptr;ptr = r1;ptr - >长度= 10; ptr->breadth=5; cout<area()<perimeter()<

47.编写一个c++程序,显示使用友元函数重载操作符。

# include using namespace std;Class complex {private: int real;int img;Public: complex(int r=0,i=0) {real=r;img =我;} void display() {cout<

48.使用Access说明符编写C ++程序。

# include using namespace std;课程{PUBLIC:INT A;void显示(){cout <<“显示基本”<< A << ENDL;}};派生:公共基础{public:void show(){cout <<端口的“{cout << endl;}};int main(){派生D;D.A = 100;d.display();d.show(); }

49.写一个c++程序显示继承。

# include using namespace std;类矩形{私有:int长度;int宽度;Public: void setlength(int l) {if(l>0) length=l;其他长度= 1;} void setwidth (int b) {if(b>0) width =b;其他宽度= 1;} int getlength(){返回长度;} int getwidth(){返回宽度;} int area(){返回长度*宽度; } int perimeter() { return 2*(length+breadth); } }; int main() { rectangle r1; r1.setlength(10); r1.setbreadth(5); cout<<"r1.area()<

50.编写一个显示多态性的c++程序。

# include using namespace std;Class car {public: virtual void start() {cout<<"car started"< start ();p =新斯威夫特(); ptr->start(); }

51.为嵌套类编写C ++示例程序。

# include using namespace std;类外部{Class Inner;公众:void fun(){i.display();}类内部{public:void显示(){cout << endl;}};内心我;};int main(){外::内部i;}

52.写一个C ++程序以在功能之间显示抛出并捕获。

# include using namespace std;int句(int a,int b){if(b == 0)抛出1;返回a / b;} int main(){int x = 10,y = 2,z;尝试{if(y == 0)扔1;z = x / y;cout << z << endl;} catch(int e){cout <<“划分零”<< e <<端点;cout <<“再见”<< endl;}

53.使用STL中的向量编写c++程序。

#包括使用命名空间std;int main(){vector  v = {2,4,6,8,10};V.Push_Back(20);v.push_back(30);Vector  ::迭代器ITR;cout <<“使用迭代器”<< endl;for(iTr = v.begin(); ITR!= v.end(); ITR ++)COUT << ++ * ITR << ENDL;cout <<“每个循环”<< endl;for(int x:v)cout << x << endl;}

54.写一个c++程序使用map从STL。

#Include #包含使用命名空间std;int main(){map  m;m.insert(对(1,“John”)));m.insert(对(2,“Ravi”));m.insert(对(3,“khan”));地图 ::迭代器ITR;for(iTr = M.Begin(); ITR!= M.End(); ITR ++){COUT << ITR->第一个<<“”<< ITR->第二<< ENDL;}地图 ::迭代器ITR1;ITR1 = M.Find(2);cout <<“值是”<< endl; cout<first<<" "<second<

55.编写一个C ++程序,显示了自动使用。

# include using namespace std;Float fun(){返回2.34f;} int main() {double d=12.3f;int i = 9;汽车x = 2 * d +我;cout < < x;}

56.编写一个c++程序来显示Lambda函数。

# include using namespace std;int main () {[] (int x, int y) {cout < <”和“x + y < < < < endl;}(10、30);}

57.为省略号编写C ++程序。

#include  #include 使用命名空间std;int sum(int n,...){va_list列表;va_start(list,n);int x;int s = 0;for(int i = 0; i 

58.写入C ++程序以在文件中写入。

# include # include using namespace std;Int main() {ofstream of ("my.text",ios::trunc);ofs < <“约翰”< < endl;25 ofs < < < < endl;ofs < <“cs”< < endl;ofs.close ();}

59.写一个c++程序读取文件。

# include # include using namespace std;int main(){ifstream ifs;ifs.open(“my.txt”);如果(ifs_open())cout <<“文件打开”<< endl;字符串名称;int roll;串分支;ifs >>名称>>卷>>分支;ifs.close();cout <<“名称”<<名称<< ENDL; cout<<"roll"<

C ++的顶级课程

Unreal Engine C ++开发人员:学习C ++并制作视频游戏
Ben Tristem,Sam Pattuzzi,Gamev.TV团队,Rob Brooks
4.6 (51,663)
畅销书
开始C ++编程 - 从初学者到超越
Tim Buchalka的学习编程学院,弗兰克米特罗斯博士
4.6 (36,839)
学习c++编程-初学者进-深潜水在c++
阿卜杜尔巴利
4.6 (9528)
虚幻多人掌握:视频游戏开发在C ++中
Ben Tristem,Sam Pattuzzi,Gamev.TV团队
4.6 (1,666)
现代C ++的设计模式
Dmitri nesteruk.
4.5 (3486)
完整的现代c++ (c++ 11/14/17)
奥马尔孤独
4.5 (3041)
现代c++深度并发(c++ 17/20)
Kasun Liyanage
4.3 (891)
完整的c++开发人员课程
Rob Percival,John P. Baugh的Codestars
4.7 (441)
评价最高
通过制作游戏第2卷学习C ++编程2
SERGE LASSIQUOT.
4.4 (164)
学习先进的现代c++ !
詹姆斯地
4.4 (114)
使用C ++ 17掌握4个关键技能
Mostafa Saad易卜拉欣博士
4.9 (821)
评价最高

更多的c++课程

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示

Abdul Bari的课程

学习c++编程-初学者进-深潜水在c++
阿卜杜尔巴利
4.6 (9528)
掌握使用C和c++的数据结构和算法
阿卜杜尔巴利
4.7 (17493)
畅销书
学习核心Java编程 - 初学者到掌握
阿卜杜尔巴利
4.6 (1813)

Abdul Bari的课程