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

益阳购物网站开发设计合肥三只羊网络科技有限公司

益阳购物网站开发设计,合肥三只羊网络科技有限公司,免费网站优化怎么做,网站优化目录一、前言 在C的学习中我们知道&#xff0c;子类是可以覆盖父类的方法&#xff0c;这里我们探讨一下子类方法调用父类方法时this指针时如何变化的。 二、示例代码 #include "windows.h" #include "windef.h" #include <iostream> #include <tch…

一、前言

在C++的学习中我们知道,子类是可以覆盖父类的方法,这里我们探讨一下子类方法调用父类方法时this指针时如何变化的。

二、示例代码

#include "windows.h"
#include "windef.h"
#include <iostream>
#include <tchar.h>
using namespace std;class People {
protected:int gender;float stature;float weight;
public:void GetInfo() {printf("%d--%f--%f\n", this->gender, this->stature, this->weight);}void SetInfo(int gender, float stature, float weight) {this->gender = gender;this->stature = stature;this->weight = weight;}
};class Teacher :People {
private:int pay;char schoolName[20];
public:void GetInfo() {printf("%d--%f--%f--%d--%s\n", this->gender, this->stature, this->weight, this->pay, this->schoolName);}void SetInfo(int gender, float stature, float weight,int pay,char* schoolName) {__super::SetInfo(gender, stature, weight);this->pay = pay;memcpy(this->schoolName, schoolName, sizeof(this->schoolName));}
};int _tmain() {Teacher t1;char schoolName[] = "ShangHaiDaZhuan";t1.SetInfo(1, 120, 180, 102402, schoolName);t1.GetInfo();return 0;
}

在这里插入图片描述
显然父类的GetInfo被子类覆盖,这里我们将在后面的汇编中简单的查看。注意我们调用子类的SetInfo中调用了父类的SetInfo,我们看看是如何获取People的this指针的

三、详解

首先我们看看栈空间的开辟情况,众所周知,栈是用来保存局部变量的,我们在主函数中创建了俩个局部变量,一个是t1另一个是schoolName[] 我们重点关注t1:

38h-14h=24h=36这满足36=20 * 1 + 4 * 2 + 4 * 2(char
占1字节,int和float占4字节),它开辟了足够的包含父成员变量的空间。

在这里插入图片描述在这里插入图片描述

PS:movss在俩个xmm指令寄存器之间或者内存位置和xmm寄存器之间复制标量浮点数

在这里插入图片描述
this指针的第一层传递(指向Teacher类的),默认使用ecx进行传递

接下来看看第二层,即SetInfo(子)中是如何传递指向父类的this指针的:
我们发现实际上并没有父类的this指针,其使用的还是Teacher的this指针
在这里插入图片描述
父类成员函数是通过子类的this指针偏移寻找到自己所需要的值的如下图:
在这里插入图片描述

http://www.yayakq.cn/news/457720/

相关文章:

  • 电商网站里的水果图片怎么做的网站搭建合同模板
  • 长春微信网站建设精通网站建设需要学什么
  • 做智能家居网站需要的参考文献云南省建设工程造价管理协会网站
  • 货源网站 源码网页设计与制作教程刘瑞新
  • 常熟住房和城乡建设局网站首页如何制作网页二维码
  • 山东省城乡住房和城乡建设厅网站营销型网站 案例
  • 网站自己做自己的品牌好做苏州电信网站备案
  • 免费asp主机网站施工单位招聘信息
  • 交互式网站开发技术asp石家庄的建筑公司
  • 营销网站运营的基本环节网站建设原则应考虑哪些内容
  • 网站建设可行性高仿卡西欧手表网站
  • 产品介绍网站html源码广州市公司网站建设价格
  • 完全免费建站系统上海网站建设网页设计
  • 如何做网站开发南京seo网络优化公司
  • 湖北神润建设工程有限公司网站织梦上网站次导航怎么做
  • 域名怎么绑定网站电商推广
  • 网站建设科wordpress 修改排序
  • 网页设计和网站开发哪个好嵌入式软件开发公司
  • 网站程序免费下载网站建设哪家好首选万维科技
  • 秦皇岛 网站建设环保公司网站建设内容
  • 书画工作室网站模板网站建设新建网站外链怎么做
  • 做网站好还是做微信小程序好seo搜索引擎是什么意思
  • 国外jquery特效网站2022永久免费的看电视软件
  • 电商网站介绍深圳做网站公司有哪些企业
  • 网站建设维护价格太原网站推广公司
  • 营销网站建设818gx光速东莞网站建设
  • 做网站必须有站点吗西安做网站的哪家好
  • 学网站设计和平面设计网上开店指南
  • python一句做网站制作网页模板素材
  • 伍佰亿网站备案收费推广平台怎么做