C++ 继承中子类与父类虚函数入栈顺序 及父类私有虚函数的调用方式
来源:互联网 发布:java 读取远程文件 编辑:程序博客网 时间:2024/06/05 09:05
如果子类中有虚函数则先将子类的虚函数入栈,然后是父类的虚函数,如果子类重写了父类的虚函数,则入栈的是子类重写的函数,即重写的子类的函数替换对应的父类的虚函数。
如://A.h
#ifndef __A_H
#define __A_H
#include <iostream>
using namespace std;
class A{
//private:
virtual void f()
{
cout<<"A::f"<<endl;
}
virtual void g(){
cout<<"A::g"<<endl;
}
};
#endif
//B.h
#ifndef __B_H
#define __B_H
//#include <iostream>
#include "A.h"
class B:public A{
void d()
{
cout<<"B::d"<<endl;
}
virtual void h()
{
cout<<"B::h"<<endl;
}
};
#endif
//main.cpp
#include "B.h"
typedef void(*Fun)(void);
int main()
{
B b;
Fun pFun;
int i;
for(i=0;i<3;i++)
{
pFun=(Fun)*((int*)*(int*)(&b)+i);
pFun();
}
}
- C++ 继承中子类与父类虚函数入栈顺序 及父类私有虚函数的调用方式
- C函数调用与入栈顺序
- C函数调用与入栈顺序
- 通过虚函数继承,父类调用子类中函数
- 关于父类与子类的构造函数调用顺序
- c++中 子类父类的构造函数调用顺序
- c/c++ 函数调用方式及入栈顺序、名称修饰
- 在C 中子类继承和调用父类的构造函数方法
- 子类继承父类的虚函数调用
- 函数调用过程中,函数参数的入栈顺序
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定
- C++:从子类访问父类的私有函数
- 继承中,父类与子类都有静态代码块和构造函数的时执行顺序
- 【C++】基类与子类拷贝构造函数的调用顺序
- 继承-父类子类构造函数的运行顺序
- extends继承中子类调用父类构造函数
- 子类父类构造函数调用顺序
- 函数调用的入栈顺序
- 获取系统的一些信息汇总
- 编写自己的jquery插件
- SMTP error: could not connet to smtp host
- [oracle]oifcfg命令详解
- What Does The HANDLECOLLISIONS Parameter Do? [ID 966207.1]
- C++ 继承中子类与父类虚函数入栈顺序 及父类私有虚函数的调用方式
- cocos2d-x CCDirector管理CCScene
- MapReduce 详解
- weblogic增量升级系统
- 进程间通信-socket
- 关于struts标签的一个小问题
- 在ARM板上移植CH341驱动
- EAS BOS KDCheckBox和表格 如何增加监听
- 清理系统垃圾