#include<iostream>
using namespace std;
//下面的代码可以运行输出的结果是一样的
//this 就是生成对象的时候的指针。
//这个有什么好处呢
//有一天你比较二
//写了下面这段代码
//class Stu
//{
//public:
// Stu(string name,int age)
// {
// //这样会混乱,所以C++不能放任这种行为不管
// //那就加个this好了
// this->name=name;
// this->age=age;
//
// }
// void display()
// {
// cout<<name<<"-----"<<age<<endl;
//
// }
//private:
// string name;
// int age;
//}
#if 0
class Stu
{
public:
Stu(string na,int a)
:name(na),age(age)
{
cout<<this<<endl;
}
private:
string name;
int age;
};
int main()
{
Stu s("gehao",23);
cout<<"&s "<<&s<<endl;
return 0;
}
#endif
/*
*this的第二种用法
*每个人都会随着年龄的成长而成长
*
*
*
*/
class Stu
{
public:
Stu(string na,int a)
{
name=na;
age=a;
}
Stu *growUp()
{
age+=1;
return this;
}
void display()
{
cout<<name<<endl;
cout<<age<<endl;
}
private:
string name;
int age;
};
int main()
{
Stu stu("gehao",23);
stu.display();
stu.growUp()->growUp()->display();
}
C++学习day12之this指针
最新推荐文章于 2024-04-15 19:57:00 发布