400-080-3312

全国监督服务热线:9:00-23:00

海量精品课程
点击免费试听

分享十道C++常见面试题目

来源:学码思官网 | 关键词: c++学习
常见C++面试中考的问题不会太难,通常是比较实用普遍的知识点,今天达内C++培训班老师给大家分享10点常见的C++面试题,希望能够帮助学员们顺利通过面试,拿到理想的offer。

  常见C++面试中考的问题不会太难,通常是比较实用普遍的知识点,今天达内C++培训班老师给大家分享10点常见的C++面试题,希望能够帮助学员们顺利通过面试,拿到理想的offer。


1.内联函数:声明加inline,编译就会直接把代码嵌入当内置函数。(一般规模小且频繁调用)


2.函数重载:函数名一样,参数不同,返回结果不同(体现多态性)


3.函数模板:

template<typename T>

         T max(T a, T b,T c){

  int i1=1,i2=2,i3=3,i;

i=max(i1,i2,i3);//自动替换T 


4.指针使用:

int *x=3;  (x存3的地址)

int y=3;

int *x;  

x=&3;(x存3的地址) 

交换的实例

void swap(int *p1,int *p2){

int temp;

temp=*p1;

*p1=*p2;

*p2=temp;

}

int *x1,*x2;

swap(x1,x2);//传入地址,虚实结合

( 不能写成swap(*x1,*x2))

C++课程中补充:如果是void swap(int &p1,int &p2),则调用int x=1,y=2; swap(x,y)


5.运算符重载:

声明:

Complex Complex::operator + (Complex &c2){

Complex c;

c.real=real+c2.real;

c.imag=imag+c2.imag;

return c;

}

c1+c2等效于:c1.operator+(c2)

. * :: sizeof ?: 不能重载


6.多重继承的二义性:

C继承了A和B(AB中都用display()函数)

c1.A::a=3;  c1.A::display(); (以此来区分A和B,否则编译不通过) 


7.虚基类:

A—>B   class B:virtual public A{};

A—>C D继承B和C需要初始化ABC classD:public B,public C{D(int n);A(n),B(n),C(n)}

编译时构造函数只执行D中,BC忽略,保证虚基类A中数据不被多次初始化

调用方式和6一样 


8.基类的意义(面向对象的意义:轮子与汽车)

1.轮子基类带来的规范

2.轮子基类带来的多样性定制(轮子厂只需设置花纹等)

3.轮子带来的高效,不用重复造轮子,只管造汽车

4.轮子技术的保密性


9.虚函数

A->B

A有3个参数 B有4个参数

A的指针先指A输出3个,再指B只能输出3个。

基类加了virtual声明的函数,继承后再调用时会自动根据对象进行重载,体现动态多态性

虚函数的意义:提供继承实现多态的。


10.抽象类:

用来作为基类派生的,定义一种规范。

纯虚函数,不初始化,让子类初始化。


免费试听 | 学费咨询 | 在线报名 | 申请补贴 | 软件培训 | 网站地图

2016-2020 南京学码思教育科技有限公司 .All Rights Reserved

苏ICP备16033487号 www.njxms.com.cn

400-080-3312

全国监督服务热线:9:00-23:00