当前位置: 首页> 汽车> 维修 > 个人工作室_国际军事形势分析_济南做seo外包_梅州网络推广

个人工作室_国际军事形势分析_济南做seo外包_梅州网络推广

时间:2025/7/10 2:30:49来源:https://blog.csdn.net/2402_83162616/article/details/144300735 浏览次数: 0次
个人工作室_国际军事形势分析_济南做seo外包_梅州网络推广

目录

一、this指针

 二、空指针访问成员函数

三、const修饰成员函数


一、this指针

this指针指向被调用的成员函数所属的对象

作用

  • 形参和成员变量同名时,可以用this指针来区分
  • 在类的非静态成员函数中返回对象本身,可使用return *this

 代码示例

#include<iostream>
using namespace std;class person{public:person(int age){this->age = age; //解决名称冲突}person& personAddAge(person &p){this->age += p.age; return *this;}int age;
};void test(){person P1(10);cout<<"P1.age="<<P1.age<<endl;}void test2(){person p1(10);person p2(10);p2.personAddAge(p1).personAddAge(p1).personAddAge(p1);cout<<"p2.age="<<p2.age<<endl;	
}int main(){test();test2();return 0;
}

 二、空指针访问成员函数

空指针也可以调用成员函数,但要注意有没有用到this指针

 代码示例

#include<iostream>
using namespace std;class person{public:void fun(){cout<<"fun函数调用"<<endl;}void fun2(){if(this == NULL){  // 保证代码健壮性return;}//  报错原因是传入了空指针cout<<"age="<<age<<endl;  // age  ===  this->age}int age;
};void test(){person *p = NULL;p->fun();  // 可以调用p->fun2();  // 错误}int main(){test();return 0;
}

三、const修饰成员函数

  • 常函数
  1. 成员函数后加const 变为常函数
  2. 函数内不可修改成员属性
  3. 成员属性声明是在前面加上mutable后,在常函数中依然可以修改
  • 常对象
  1. 声明对象前加const,称为常对象
  2. 常对象只能调用常函数

 代码示例

#include<iostream>
using namespace std;class person{public:// 常函数void fun() const {  // 在成员函数后面加const,修饰的是this指向,让指针指向的值也不可以修改
//		age = 10; // 错误,this指针的本质  是指针常量,指针的指向是不可以修改的b = 10;}int age;mutable int b; // 特殊变量,即使在常函数中也可以修改。加关键字mutable
};int main(){return 0;
}

关键字:个人工作室_国际军事形势分析_济南做seo外包_梅州网络推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: