经纬恒润 软件开发c++一面
1 讲一讲你对多态的理解
回答:多态就是不同对象对同一个函数的不同表现。静态多态可以用函数重写实现;动态多态需要使用虚函数来重写函数方法。
2 class A{
//...
virtual void Execute();
}
class B:publiC A{}
//...
virtual void Execute();
}
A* pa = new B();
pa->Execute();
讲一讲,pa这个变量,是怎么找到B这个方法的
回答:Execute函数在A中被定义,因为是虚函数,所以在B中被重写。当使用pa->Execute()时,会去查找B的vtable,然后调用B中重写的方法。
3 了解过STL库吗,vector是什么,底层实现原理能讲讲吗?
4 有了解过c++的新特性吗?回答:智能指针。
智能指针是什么?底层实现原理是啥。
5 指针和引用的区别是什么?
6 在使用多线程时,怎么保证线程能够安全退出?
回答:使用pthread_join。
回答:多态就是不同对象对同一个函数的不同表现。静态多态可以用函数重写实现;动态多态需要使用虚函数来重写函数方法。
2 class A{
//...
virtual void Execute();
}
class B:publiC A{}
//...
virtual void Execute();
}
A* pa = new B();
pa->Execute();
讲一讲,pa这个变量,是怎么找到B这个方法的
回答:Execute函数在A中被定义,因为是虚函数,所以在B中被重写。当使用pa->Execute()时,会去查找B的vtable,然后调用B中重写的方法。
3 了解过STL库吗,vector是什么,底层实现原理能讲讲吗?
4 有了解过c++的新特性吗?回答:智能指针。
智能指针是什么?底层实现原理是啥。
5 指针和引用的区别是什么?
6 在使用多线程时,怎么保证线程能够安全退出?
回答:使用pthread_join。
全部评论
佬,隔几天收到笔试通知了
相关推荐
10-31 15:40
西北大学 后端 点赞 评论 收藏
分享
点赞 评论 收藏
分享