1. 程式人生 > >c++ this指針

c++ this指針

構造 top 容易 char circle highlight 用戶 使用 locks

先要理解class的意思。class應該理解為一種類型,象int,char一樣,是用戶自定義的類型。用這個類型可以來聲明一個變量,比如int x, myclass my等等。這樣就像變量x具有int類型一樣,變量my具有myclass類型。理解了這個,就好解釋this了,my裏的this 就是指向my的指針。如果還有一個變量myclass mz,mz的this就是指向mz的指針。 這樣就很容易理解this 的類型應該是myclass *,而對其的解引用*this就應該是一個myclass類型的變量。通常在class定義時要用到類型變量自身時,因為這時候還不知道變量名(為了通用也不可能固定實際的變量名),就用this這樣的指針來使用變量自身。

我自己寫的博客c++ cpp和hpp中,有一個例子:

.h代碼:

#ifndef CIRCLE_H
技術分享#define CIRCLE_H
技術分享
技術分享class Circle
技術分享{
技術分享private:
技術分享 double r;//半徑
技術分享public:
技術分享 Circle();//構造函數
技術分享 Circle(double R);//構造函數
技術分享 double Area();//求面積函數
技術分享};
技術分享
技術分享#endif

.cpp代碼;

#include "Circle.h"
技術分享
技術分享Circle::Circle()
技術分享{
技術分享 this->r=5.0;
技術分享}
技術分享
技術分享Circle::Circle(double R)
技術分享{
技術分享 this->r=R;
技術分享}
技術分享
技術分享double Circle:: Area()
技術分享

{
技術分享 return 3.14*r*r;
技術分享}

這樣就能理解this指針了

https://www.cnblogs.com/liushui-sky/p/5802981.html

c++ this指針