网站图片上传不了怎么办,企业门户网站建设与发展趋势,园区做网站,深圳福田网站设计1.面试官#xff1a;什么是函数的重载#xff1f;
应聘者#xff1a;函数的重载就是允许使用同一个函数名来定义多个函数#xff0c;但是这些函数的参数个数和类型不同。
2.面试官#xff1a;如何引用一个已经定义过的全局变量#xff1f;
应聘者#xff1a;可以用引…1.面试官什么是函数的重载
应聘者函数的重载就是允许使用同一个函数名来定义多个函数但是这些函数的参数个数和类型不同。
2.面试官如何引用一个已经定义过的全局变量
应聘者可以用引用头文件的方式也可以用extern关键字如果用引用头文件方式来引用某个在头文件中声明的全局变量假定你将那个变量写错了那么在编译期间会报错如果用extern方式引用假定犯了同样的错误那么在编译期间不会报错而在连接期间报错。
3.面试官简述递归算法的特点。
应聘者在实际编程中有许多定义或者问题本身具有递归性质所以顺其自然就用递归来解决这样不仅代码少而且结构清晰。递归算法的特点所谓递归就是把一个大型的复杂问题层层地转化为一个与原问题相似的较小规模的问题再逐步求解小问题再返回得到较大问题的解由于递归只需要少量的步骤就可以描述解题过程中所需要的多次重复计划所以大大减少了代码量递归算法的关键在于找出递归方程和递归终止条件。
4.面试官“.”运算符和“-”运算符都能访问成员但是哪种方法好
应聘者如果有一个指向对象的指针则使用“-”运算符最合适如果是实例化一个对象并将其储存到一个局部变量中则使用“.”运算符最为合适。
5.面试官友元的作用和优缺点
应聘者友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。优点1可以灵活地实现需要访问若干类的私有或受保护的成员才能完成的任务。
2便于与其他不支持类概念的语言进行混合编程。
3通过使用友元函数重载可以更自然地使用C语言的I/O流库。
缺点一个类将对其非公有成员的访问权限授予其他函数或者类会破坏该类的封装性降低该类的可靠性和可维护性。
6.面试官访问命名空间成员有哪几种方法
应聘者在引用命名空间成员时要用命名空间名和作用域限定符对命名空间成员进行限定以区别不同的命名空间中的同名标识符。即
命名空间名::命名空间成员名;
这种方法是有效的能保证所引用的实体有唯一的名字。但是如果命名空间名字比较长尤其在有命名空间嵌套的情况下为引用一个实体需要写很长的名字。在一个程序中可能要多次引用命名空间成员就会感到很不方便。1. 使用命名空间别名引用成员为命名空间起一个别名用来代替较长的命名空间名。
可以用一个较短而易记的别名代替它。例如 namespace TV Television; //别名与原名Television等价
2. 使用using命名空间成员名using后面的命名空间成员名必须是由命名空间限定的名字。例如 using std::cout;
该语句表示在using语句所在的作用域中会用到命名空间std中的成员cout在本作用域中如果使用该命名空间成员时不必再用命名空间限定。例如在用using声明后在其后程序中出现cout就是隐含的值std::cout。
7.面试官作用域运算符“::”都有哪些用法
应聘者C作用域运算符主要有两种应用方式。
1. 类与类的成员之间声明一个类A类A里声明了一个成员函数“void fun();”但是没有在类的声明里给出函数fun()的定义那么在类外定义函数fun()时就要写成“void A::fun()”表示这个fun()函数是类A的成员函数。
2. 作用域作用域一般分为全局作用域、局部作用域和语句作用域。作用域的范围越小优先级越高。如果希望在局部变量的作用域内使用同名的全局变量就可以在该变量前面加上“::”。
3. 命名空间C标准程序库中的所有标识符都被定义于一个名为std的namespace中。在没有写“using namespace std;”这句代码时程序里都是使用std::cout而不是cout。
8.面试官C有哪几种继承方式各自有什么特点
应聘者继承方式主要有三种public、private和protected。在缺省条件下是private继承三种方式中public继承用得最多不同的继承方式决定了子类中从基类继承过来的成员的访问属性。1public继承基类的public、protected成员在子类中访问属性不变子类新增的成员函数可以直接访问对于基类的private成员依然是基类的私有子类无法直接进行访问。
2private继承基类的public、protected成员转变为子类的private成员子类新增的成员函数可以进行访问对于基类的private成员依然是基类的私有子类无法直接进行访问。
3protected继承基类的public、protected成员转变为子类的protected成员子类新增的成员函数可以进行访问对于基类的private成员依然是基类的私有子类无法直接进行访问。 private继承和protected继承的区别是private继承的子类如果继续被继承那么这些从其分类继承得到的数据将不会被其子类继承而protected则是可以的。