C++中this

this是一个指向对象自身的指针。一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果,this作用域是在类内部,只能在成员函数中使用

#include <iostream>
#include <string>
using namespace std;
class Stu_Info_Mange
{
	int sno;
	string sname;
	int age;
	int grade;
public:
	Stu_Info_Mange(int s=0,string n="",int a=0, int g=0)
	//Stu_Info_Mange(int s,string n,int a, int g)//构造函数,可以对变量不赋初值,但在调用时需要给出值
	{
		sno=s;
		sname=n;
		age=a;
		grade=g;
	}
	void Setname(string sn)//使用this 指针进行赋值
	{
		this->sname=sn;
	}
	int Setage(int a)
	{
		this->age=a;
		return (*this).age;

	}
	void print()
	{

		cout<<"name is"<<this ->sname<<endl;//显式this指针通过箭头操作符访问
		cout<<"age is"<<(*this).age<<endl;//显式使用this指针通过圆点操作符
	}

};
int main()
{

	Stu_Info_Mange sim1;
	sim1.print();
	sim1.Setage(12);//使用this指针修改年龄
	sim1.Setname("JACK");
	sim1.print();
	
	Stu_Info_Mange sim2(761,"张山",19,3);
	sim2.print();
	sim2.Setage(12);//使用this指针修改年龄
	sim2.Setname("zhang san");
	sim2.print();
	
	return 0;
}

运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值