C++ 面向对象 类成员函数this指针
2024-10-13 10:56:07
每个类成员函数都只涉及一个对象, 即调用它的对象。 但有时候方法可能涉及到两个对象, 在这种情况下需要使用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 ;
}
最新文章
- 关于 Lo、Hi、LoWord、HiWord
- ubuntu 12.04 安装 redis
- unity中Debug输出控制
- Oracle 11g 安装
- haar-like特征(转载)
- fmri分析工具:spm里的统计学 Introduction to SPM statistics
- SQL Server 除法 不起作用的问题
- libaio under MIPS architecture /在mips架构下使用的libaio
- Jquery学习笔记:操作form表单元素之二(复选框和单选框)
- 扩展GridView实现无数据处理
- 解决ASP.NET MVC 接受Request Payload参数问题
- CCNA(001):Packet Tracer简单使用
- vi不保存退出
- 廖雪峰Java6 IO编程-2input和output-7序列化
- google glog 使用方法
- VS2010属性
- POJ1679 The Unique MST 【次小生成树】
- jquery validate自定义规则
- 《JavaWeb从入门到改行》分页功能的实现
- C语言二分查找