寒武纪C++日常实习生面经

就面了20分钟,主要问C++,凉凉了。
1.C++继承方式,4种,包含虚继承,追问,protected和public继承区别,我答错了。
2.B C虚继承A,D public继承 B C ,有A *a = new D,a->fun(),fun是虚函数,并且B C都重写了,怎么保证a调用的是B重写的虚函数。这个不会,求解。
3.说说spark RDD,简历上有写了解spark,但是有段时间没看,答得不好
4.说说多态  静态+动态
5.说说引用,什么时候用引用好,什么时候用指针好?面试官说引用变量不能再改变地址,我补充一句说引用实际上是指针常量
全程没问算法or数据结构,可能是日常,缺人打杂?然而我还是凉凉。。。
#寒武纪##面经##实习##C++工程师#
全部评论
dynamic_cast(a)->B::fun();
2 回复
分享
发布于 2019-06-10 13:48
对于第二个问题,本人在vs上尝试了。 发现如果B C都重写了A的虚函数fun(),那么D必须重写,否则编译不通过;如果B C中只有一个重写了fun(),D可以重写,也可以不重写,如果D重写了则a->fun()优先调用D重写的那个fun(),否则调用B 或 C中重写的fun()。
1 回复
分享
发布于 2019-06-10 11:51
阅文集团
校招火热招聘中
官网直投
a->B::func();//是这样吗
1 回复
分享
发布于 2019-06-10 12:34
针对楼主的面经,做了一份答案,请查收! https://www.cnblogs.com/zkfopen/p/11103445.html
10 回复
分享
发布于 2019-06-28 16:34
全程cpp基础
点赞 回复
分享
发布于 2019-06-10 11:48
你这基础不行,进去写代码也是个坑,抓紧看书吧
点赞 回复
分享
发布于 2019-06-10 11:49
D先继承B再继承C嘛。。
点赞 回复
分享
发布于 2019-06-10 12:37
请问什么岗位啊
点赞 回复
分享
发布于 2019-06-17 20:54
Mark一下
点赞 回复
分享
发布于 2019-06-21 11:36
所以第二题到底怎么解
点赞 回复
分享
发布于 2019-06-22 21:37
腾讯都过了过不了寒武纪?
点赞 回复
分享
发布于 2019-06-22 22:19
// B C虚继承A,D public继承 B C ,有A *a = new D,a->fun(),fun是虚函数, // 并且B C都重写了,怎么保证a调用的是B重写的虚函数 #include <iostream> usingnamespacestd;   classA  { public:          virtual void fun() { cout <<"A::fun()."<< endl; } };   classB :public virtual A { public:          void fun() { cout <<"B::fun()."<< endl; } };   classC :public virtual A { public:          void fun() { cout <<"C::fun()."<< endl; } };   classD :public B,public C { public:          void fun() { cout <<"D::fun()."<< endl; } };   intmain() {          A* a =new D;          A* b =new B;              a = b;          a->fun();          return 0; }   // 输出:B::fun(). // 欢迎评论,欢迎拍砖,共同进步!
点赞 回复
分享
发布于 2019-06-28 11:51

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
字节?京东?
投递京东等公司10个岗位 >
点赞 评论 收藏
转发
6 58 评论
分享
牛客网
牛客企业服务