创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
c语言内容💖:
专栏:c语言之路重点知识整合
【c语言】全部知识点总结
目录
- 一、类成员函数
- 二、this指针
一、类成员函数
类成员函数属于类本身,在编译期间存在,并且每个类只有一份。
它们与是否定义对象无关,可以通过类名直接访问调用。
类成员函数属于类的一部分,在对象创建时并不会分配内存空间
类成员函数只有一份,多个对象共享同一个函数!
class CTest
{
public:
int m_a;
void fun()
{
cout << __FUNCSIG__ << endl << m_a << endl;
}
CTest()
{
m_a = 10;
}
};
int main()
{
CTest test;
test.fun();
return 0;
}
void fun(CTest* pTest)
{
cout << __FUNCSIG__ << pTest->m_a << endl;
}
CTest* ptst = nullptr;
ptst->fun(); //CTest::fun ,空指针对象也可以调用一般的类成员函数,但是不推荐这样写
二、this指针
类成员函数与 this 指针密切相关,this 指针是一个隐式参数,指向调用该成员函数的对象。
类中的非静态成员函数包括构造、析构函数,会有一个默认的隐藏的参数this 指针
它是编译器默认加上的在所有参数之前,类型为当前类的指针 即:类 * const this
当我们在用对象调用函数的时候,this指针就指向了调用的对象
在函数中使用类成员属性或其他类成员函数都是默认通过this指针调用的
在平时写代码的时不用显示的指明this,因为编译器会默认加上
void fun(/* CTest * const this */)
{
cout << __FUNCSIG__ << endl << m_a << endl;
this->m_a; // 等价于 m_a;
show();
this->show(); // 等价于 show();
}
void show()
{
cout << "show" << endl;
}
this指针的作用:
-
指向调用该函数的对象,函数中使用类成员都是通过this指针调用
-
连接对象和成员函数,可以在函数中
无感知
的使用成员
使用:
既可以显式访问 this 指针,也可以省略它,并直接使用成员变量和其他成员函数的名称访问
-
可以使用 this->成员名
-
或者省略 this-> 直接使用成员名来访问类的成员变量和调用其他成员函数
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |