中国大学MOOC程序设计与算法(三):C++ 面向对象程序设计 第三周 类和对象提高 笔记 之 this指针

C++面向对象进阶
本文深入探讨了C++面向对象编程的高级概念,包括this指针的使用、静态成员变量与函数、成员对象和封闭类的应用、常量对象与成员函数及常引用的特性,以及友元的概念。通过实例解析了this指针如何帮助我们操作对象,并对比了静态成员函数与普通成员函数的区别。

第三周 类和对象提高
1.this指针
2.静态成员变量、静态成员函数
3.成员对象和封闭类
4.常量对象、常量成员函数、和常引用
5.友元

1.this指针

this指针的作用就是指向成员函数所作用的对象

非静态成员函数中可以直接使用this来代表指向该函数作用的对象的指针。

class Complex {
	public:
		double real, imag;
		void Print() { cout << real << "," << imag ; }
		Complex(double r,double i):real(r),imag(i)
		{         }
		Complex AddOne() {
			this->real ++; //等价于 real ++;
			this->Print(); //等价于 Print
			return * this;
		}
};
int main() {
	Complex c1(1,1),c2(0,0);
	c2 = c1.AddOne();
	return 0;
} 
输出: 2,1
class A
{
	int i;
	public:
	void Hello() { cout << "hello" << endl; }
}; //等价于 void Hello(A * this ) { cout << "hello" << endl; }
int main()
{
A * p = NULL;
p->Hello(); //等价于 Hello(p);
} 
输出:hello

this指针和静态成员函数

静态成员函数中不能使用 this 指针!因为静态成员函数并不具体作用与某个对象!因此,静态成员函数的真实的参数的个数,就是程序中写出的参数个数!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值