当前位置: 首页 > news >正文

东莞玩具加工东莞网站建设网站软文推广网站

东莞玩具加工东莞网站建设,网站软文推广网站,wordpress 有没有上级目录的写权限,做网站字号多大同一个类,不同对象使用同一张虚函数表 不同类使用不同的虚函数表 子类自己添加的虚函数(非重写),在VS中是将此放在第一个继承类的虚函数表里. #include <iostream> using namespace std;class Father { public:virtual void func1() { cout << "Father::f…

同一个类,不同对象使用同一张虚函数表

不同类使用不同的虚函数表

子类自己添加的虚函数(非重写),在VS中是将此放在第一个继承类的虚函数表里.
在这里插入图片描述

#include <iostream>
using namespace std;class Father {
public:virtual void func1() { cout << "Father::func1" << endl; }virtual void func2() { cout << "Father::func2" << endl; }virtual void func3() { cout << "Father::func3" << endl; }void func4() { cout << "Father::func4" << endl;}public:long long x = 1;long long y = 2;static int z;};class Mother{
public:virtual void handle1() { cout << "Mother::func1" << endl; }virtual void handle2() { cout << "Mother::func2" << endl; }virtual void handle3() { cout << "Mother::func3" << endl; }public:int m = 3;int n = 4;
};class Son :public Father,public Mother {
public://重写了func1 ,增加了func5virtual void func1() override{ cout << "Son::func1" << endl; }virtual void handle1() { cout << "Son::handle2" << endl; }virtual void func5() { cout << "Son::func5" << endl; }
};class  GrandSon :public Son {};typedef void(*func_t) (void);  //函数指针 返回类型void ,参数void
int Father::z = 1;
int main(void) {Son son;cout << "对象地址" <<(long long *)&son << endl;long long* vfptr1 = (long long*)*(long long*)&son;	//对象首地址,vfptrcout << "第一个虚函数表指针:" << vfptr1 << endl;for (int i = 0; i < 4; i++) {cout << "这是第" << i + 1 << "个虚函数" << endl;((func_t) * (vfptr1 + i))();}for (int i = 0; i < 2; i++) {cout << *(int *)((long long)&son + 8 + i * 4) << endl;	//值}long long* vfptr2 = (long long*) * ( (long long*)&son + 3);cout << "第二个虚函数表指针:" << vfptr2 << endl;for (int i = 0; i < 3; i++) {cout << "这是第" << i + 1 << "个虚函数" << endl;((func_t) * (vfptr2 + i))();}for (int i = 0; i < 2; i++) {cout << *(int*)((long long)&son + 32 + i * 4) << endl;	//值}system("pause");return 0;
}

对象地址00000034A26FF4E8
第一个虚函数表指针:00007FF7095BBD60
这是第1个虚函数
Son::func1
这是第2个虚函数
Father::func2
这是第3个虚函数
Father::func3
这是第4个虚函数
Son::func5
1
0
第二个虚函数表指针:00007FF7095BBD90
这是第1个虚函数
Son::handle2
这是第2个虚函数
Mother::func2
这是第3个虚函数
Mother::func3
3
4

有一个错误:Father的x,y,一开始定义成了int,老师解答,long long * + 3 是加3个 long long ,

http://www.zhongyajixie.com/news/62673.html

相关文章:

  • 淘宝网站推广方案水果营销软文
  • 专业做公司宣传网站百度推广托管公司
  • 网站建设800元全包优化清理大师
  • 惠州网络推广seo标签怎么优化
  • 做用户名验证的网站服务器广安网站seo
  • 大连城乡建设网站百度信息流推广和搜索推广
  • c 创建一个网站怎么做如何找做网站的公司
  • 备案网站出售自助发稿
  • 办公室设计说明关键词排名优化报价
  • 做网站傻瓜软件西安网站维护公司
  • 个人网站怎么做哈尔滨seo优化培训
  • 泉州网站制作郑州seo技术博客
  • php网站建设自我总结爱情链接
  • 济南外贸网站制作枣庄网络推广seo
  • 层流病房建设单位网站优秀网站设计赏析
  • 新疆建设云网站百度一下了你就知道官网
  • 做门户网站建设多少钱天气预报最新天气预报
  • 制作网站规划书站长是什么职位
  • 网站前瞻性_新流量机会内容建设分析本站3天更换一次域名yw
  • 网站备案 太烦百姓网推广怎么收费标准
  • 购买域名后 可以做网站么微信朋友圈广告投放
  • wordpress阿里百秀5.2网站关键词排名优化推广软件
  • 义乌制作网站开发seo单词优化
  • 做投票的网站网络营销推广经验总结
  • 建设企业网站流程百度引擎搜索
  • 前端做网站直播深圳广告公司排名
  • 导航网站容易做吗宣传平台有哪些
  • 企业seo平台关键词优化外包
  • 干洗店投资多少钱可以营业了北京网站优化外包
  • wordpress的作用百度网站优化工具