C++之不同对象的成员函数如何引用指定对象的数据成员
来源:互联网 发布:信息系统网络架构图 编辑:程序博客网 时间:2024/05/29 08:05
C++成员函数存储问题点击打开链接
可知C++成员函数不占用对象的存储空间,而是在对象外的空间,而且所有对象共用一段成员函数代码,那在不同对象的成员函数如何保证引用指定对象的数据成员呢?
关键秘籍——this指针
每个成员函数都有一个特殊的this指针,指向本类的对象,其值为当前被调用成员函数所在的对象的起始地址。
例如:int Box::volume( )
{return ( height * width * length);
}
C++将其自动处理为:
int Box::volume(Box *this) //即int Box::volume(&a) a为对象;
{return ( (*this).height * (*this).width * (*this).length);
}
this:隐式使用,编译器自动实现的,无需认为添加。
总之,调用对象a的成员函数f = 调用成员函数f时使this指针指向对象a,从而访问a对象的成员。
0 0
- C++之不同对象的成员函数如何引用指定对象的数据成员
- 对象成员的引用
- 对象成员的引用
- C++成员函数返回对象的引用
- C++ 之对象成员的引用
- 有关C++中的常对象,常成员函数,常数据成员,常引用的认识
- const static与类的数据成员,成员函数,对象
- C++:指向对象成员函数的指针
- 常引用,常对象,常成员函数,常数据成员~
- 访问对象的公有成员函数的不同方式
- 访问对象的数据成员
- C++对象的数据成员
- deep_c++:对象的数据成员
- Objective-C 类,数据成员,函数成员,对象,
- 类成员函数返回对象和返回引用的区别
- const类型参数的对象引用和const成员函数
- 常对象及常成员及静态数据成员和静态成员函数的学习内容。
- 第五讲:类的成员、对象成员的引用
- 遗传算法很好的例子
- 有关openmesh 4.1如何在vs2010以及qt creator中搭建使用
- ie浏览器下的图片旋转问题
- xshell连接虚拟机在家能用到公司就不能用了?
- 深入探究frame和bounds的区别以及setbounds使用
- C++之不同对象的成员函数如何引用指定对象的数据成员
- 如何在Qt应用中退出应用
- Spring aop 实战与详解
- 程序开发中常用到的颜色
- Ubuntu 12.04 / Linux Mint 17.1 下安装TinyOS-2.1.1全过程
- 获取系统时间的两种方法
- Application.targetFrameRate
- ViewPager中fragment互相传值和原始的fragment传值区别
- Centos6.5部署ftp文件服务器