转载于http://blog.csdn.net/chhuach2005/article/details/40322895
覆盖:基类定义的虚函数,派生类中重新定义,派生类的虚函数表将覆盖基类已定义的虚函数。
重载:重载发生在同一个类中,重载不能跨类。重载是因为函数名相同,函数的参数个数或参数的类型不同,而调用相应的函数。
隐藏:这个,以前没怎么注意。隐藏发生在派生类中有何基类同名的虚函数时,此时基类中的同名重载函数不被继承到派生类。
代码说明如下:
[cpp] view plaincopy
运行结果:
结果如图1所示,与以上分析相同
图1 重载、覆盖、隐藏
且看以下代码
[cpp] view plaincopy
你觉得构造的顺序到底是怎样的呢?是main()函数体先执行还是b先构造呢?
执行结果为图2,从图2中可以看出,是先构造类的全局变量的,哪怕它在main函数之后,在main函数里的类变量构造是按类变量的定义顺序构造的。
图2 类变量的构造顺序
[cpp] view plaincopy
实际测试是可以递归的 运行结果如下:
图3 main()递归