互联网几道常考易错笔试题总结
来源:互联网 发布:海口公交线路优化 编辑:程序博客网 时间:2024/06/05 06:41
转载于http://blog.csdn.net/chhuach2005/article/details/40322895
1) 覆盖 重载 隐藏
覆盖:基类定义的虚函数,派生类中重新定义,派生类的虚函数表将覆盖基类已定义的虚函数。
重载:重载发生在同一个类中,重载不能跨类。重载是因为函数名相同,函数的参数个数或参数的类型不同,而调用相应的函数。
隐藏:这个,以前没怎么注意。隐藏发生在派生类中有何基类同名的虚函数时,此时基类中的同名重载函数不被继承到派生类。
代码说明如下:
- class Base//基类中fun1有3个函数,是重载
- {
- public:
- virtual void fun1(int a)
- {
- cout<<"Base fun1 int "<<a<<endl;
- }
- virtual void fun1(double a)
- {
- cout<<"Base fun1 double "<<a<<endl;
- }
- void fun1()
- {
- cout<<"Base fun1 () "<<5<<endl;
- }
- };
- class Derive:public Base // 显然派生类中的fun1(int a)是基类的fun1(int a)的重写
- {
- public:
- virtual void fun1(int a)
- {
- cout<<"Derive fun1 int "<<a<<endl;
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- Base *p=new Derive;//隐藏的函数,用指针可以调用,隐藏和多态同时出现时,隐藏优先级高
- p->fun1(3.3);//由于隐藏优先级高,此处用基类指针调用fun1(3.3),不会发生多态,调用的是基类的fun1(3.3),在基类又会产生重载。
- p->fun1(3); //多态调用派生类中的函数
- p->fun1(); //同理会调用基类的fun1()函数,在基类会有重载。
- Derive *p1=new Derive;
- p1->fun1(3.3);//因为派生类没有继承fun1(double),因此fun1(3.3)会调用fun1(int)
- //p1->fun1();//由于fun1()未被继承到派生类中,本行调用若不注释,会出错编译不通过。
- Base *p2=new Base;
- p2->fun1(3.3);
- system("pause");
- return 0 ;
- }
运行结果:
结果如图1所示,与以上分析相同
图1 重载、覆盖、隐藏
2) 类变量的声明与执行顺序
且看以下代码- class A
- {
- public:
- A()
- {
- cout<<"A is called"<<endl;
- }
- };
- class B
- {
- public:
- B()
- {
- cout<<"B is called"<<endl;
- }
- };
- class C
- {
- public:
- C()
- {
- cout<<"C is called"<<endl;
- }
- };
- class D
- {
- public:
- D()
- {
- cout<<"D is called"<<endl;
- }
- };
- void test()
- {
- static C c;
- D d;
- }
- A a;
- int _tmain(int argc, _TCHAR* argv[])
- {
- test();
- system("pause");
- return 0 ;
- }
- B b;
你觉得构造的顺序到底是怎样的呢?是main()函数体先执行还是b先构造呢?
执行结果为图2,从图2中可以看出,是先构造类的全局变量的,哪怕它在main函数之后,在main函数里的类变量构造是按类变量的定义顺序构造的。
图2 类变量的构造顺序
3) Main函数能递归吗
- int main()
- {
- static int n=5;
- cout<<n<<endl;
- n--;
- if (n==0)
- {
- system("pause");
- return 0 ;
- }
- main();
- }
实际测试是可以递归的 运行结果如下:
图3 main()递归
0 0
- 互联网几道常考易错笔试题总结
- 互联网几道常考易错笔试题总结
- 关于互联网笔试题
- 软件/通信/互联网笔试面试总结
- 网易互联网产品笔试题
- 2017互联网笔试题汇总
- 互联网企业部分面试笔试真题以及考察知识点总结(一)
- 国内著名互联网企业PHP笔试题
- 一些互联网公司的笔试题
- 网易互联网笔试题(多年)
- 国内著名互联网企业PHP笔试题
- 网易互联网产品策划专员笔试题
- 网易互联网笔试题(多年)
- 互联网公司笔试错题集锦
- 网易互联网2017,3月笔试题
- Java笔试题总结
- java笔试题总结
- 笔试题总结
- NOJ1119仙林鼎山游乐园
- 严苛模式(StrictMode)
- Android Fragment 真正的完全解析(下)
- 剪格子
- 取石子(一)
- 互联网几道常考易错笔试题总结
- selenium执行内部原理
- Slave_IO_Running: No 处理一例
- 【framework】EventLog分析
- easyui得到弹出窗口的值
- 一元一次方程
- 数据库连接池
- Satellite卫星电视的基本知识
- 周国平之教育七箴言