
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
C/C++面试中最尴尬的实情莫过于信心满满的坐在面试官面前,却被各种常见的技术细节问的神魂颠倒。为了不让太多的友友一个坑里翻两个跟头,小编将这些问题总结了一份答案供大家参考。
1.C++工程师日常工作中,重载和重写的区别在哪?
答:方法重载提供了一个相同的方法但是方法签名的参数不同的调用的实现。重写提供了子类中改变父类方法行为的实现。
2.请问能设置类A可被继承,但类A中的某个方法不能被重写吗?
答:能,将类A的修饰符标记为public、标记类A中的不允许重写的方法为sealed,sealed关键字不仅可以限制类,也可以限制方法。
3.const和readonly有什么区别?
答:const关键字用来声明编译时的常量,readonly用来声明运行时的常量
答:(1)当这个类中有抽象方法的时候,必须声明类为抽象类
(2)该类没有完全实现父类的抽象方法时,也需要声明为抽象类
5.接口和抽象类的区别是什么?
答:接口中所有的方法都不能有实现,并且不能指定方法的修饰符抽象类中可以有方法的实现,也可以指定方法的访问修饰符,第一个继承接口的类必须实现接口里的所有方法,而抽象类中抽象方法的实现是由第一个非抽象的派生类来实现。
6.请写出C#中的单例模式
答: public class Single
{
private static Single instance;
private Single (){}
public static Single GetInstance ()
{
if (instance == null) {
instance = new Single ();
}
return instance;
}
}
7,如果一个标明throw()的函数内部发生了throw:
答:1,如果内部直接throw something,编译器会发现并指出;2. 如果是内部调用了一个可能throw something的函数,编译器无法发现,运行时一旦这个内部的函数throw,程序会abort。
在线课程试听:http://tj.tedu.cn/