每个类成员函数都只涉及一个对象, 即调用它的对象。 但有时候方法可能涉及到两个对象, 在这种情况下需要使用C++ 的 this 指针

假设将方法命名为topval(), 则函数调用stock1.topval()将访问stock1的对象数据;stock2.topval()将访问stock2的对象数据;

如果希望该方法的两个对象进行对比, 则必须将第二个对象作为参数传递给它。这时候涉及到隐式和显式:

top = stock1.topval(stock2);

隐式的访问了stock1, 显示的访问了stock2, this 则代表的是 stock1, *this 则是对象指针

// 轻松使用c++

// 5. 面向对象 this指针, 面向对象的对象指针 完成
#include <iostream>
#include <string> using namespace std; class Over {
private: public:
int h = ;
}; class Stock {
private:
/* data */
int h;
public:
Stock(int abc); ~Stock(); int abc(); Stock &topval(Stock &s); Stock &topval1(Over &s);
}; Stock::Stock(int abc) {
h = abc;
printf("%d\n", h);
} Stock::~Stock() {
} int Stock::abc() {
this->h = ;
printf("%d\n", this->h);
printf("%d\n", h);
return ;
} Stock &Stock::topval(Stock &s) {
printf("this-h: %d, s2.h: %d\n", this->h, s.h);
} Stock &Stock::topval1(Over &s) {
printf("this-h: %d, s2.h: %d\n", this->h, s.h);
} int main(int argc, char const *argv[]) {
Stock s1();
s1.abc(); Stock s2();
s1.topval(s2); Over s3;
s1.topval1(s3); return ;
}

最新文章

  1. 关于 Lo、Hi、LoWord、HiWord
  2. ubuntu 12.04 安装 redis
  3. unity中Debug输出控制
  4. Oracle 11g 安装
  5. haar-like特征(转载)
  6. fmri分析工具:spm里的统计学 Introduction to SPM statistics
  7. SQL Server 除法 不起作用的问题
  8. libaio under MIPS architecture /在mips架构下使用的libaio
  9. Jquery学习笔记:操作form表单元素之二(复选框和单选框)
  10. 扩展GridView实现无数据处理
  11. 解决ASP.NET MVC 接受Request Payload参数问题
  12. CCNA(001):Packet Tracer简单使用
  13. vi不保存退出
  14. 廖雪峰Java6 IO编程-2input和output-7序列化
  15. google glog 使用方法
  16. VS2010属性
  17. POJ1679 The Unique MST 【次小生成树】
  18. jquery validate自定义规则
  19. 《JavaWeb从入门到改行》分页功能的实现
  20. C语言二分查找

热门文章

  1. HTML5学习笔记(十九):Lambda和Promise
  2. 开发中遇到的一些mongoose的问题
  3. 关于casperjs的介绍
  4. git clean 小结
  5. C++文件读写 打开方式等比较全
  6. Linux 关于Transparent Hugepages的介绍【转】
  7. Mac下更改Python pip的源
  8. C语言字符串格式化显示
  9. IBM ILOG JViews Charts 产品及功能介绍
  10. Linux下如何查看tomcat是否启动,并杀死重启