C++中的範圍解析運算子與this指標?
我們將在這裡看一些C++示例並嘗試瞭解將生成什麼型別的輸出。然後我們可以理解範圍解析運算子和C++中的“this”指標的用途和功能。
如果某些程式碼有一些成員(例如“x”),並且我們希望使用另一個具有相同名稱“x”的引數的函式,那麼在該函式中,如果我們使用“x”,它將隱藏成員變數,並且將使用區域性變數。我們檢視一段程式碼來檢查這一點。
示例
#include <iostream>
using namespace std;
class MyClass {
private:
int x;
public:
MyClass(int y) {
x = y;
}
void myFunction(int x) {
cout << "Value of x is: " << x;
}
};
main() {
MyClass ob1(10);
ob1.myFunction(40);
}輸出
Value of x is: 40
要訪問類的x成員,我們必須使用“this”指標。“this”是一個特殊型別的指標,指向當前物件。讓我們看看“this”指標如何幫助完成此任務。
示例
#include <iostream>
using namespace std;
class MyClass {
private:
int x;
public:
MyClass(int y) {
x = y;
}
void myFunction(int x) {
cout << "Value of x is: " << this->x;
}
};
main() {
MyClass ob1(10);
ob1.myFunction(40);
}輸出
Value of x is: 10
在C++中,還有另一個稱為範圍解析運算子的運算子。該運算子用於訪問父類或某些靜態成員。如果我們將範圍解析運算子用於此目的,它將不起作用。同樣,如果我們將“this”指標用於靜態成員,它將產生一些問題。
示例
#include <iostream>
using namespace std;
class MyClass {
static int x;
public:
void myFunction(int x) {
cout << "Value of x is: " << MyClass::x;
}
};
int MyClass::x = 50;
main() {
MyClass ob1;
ob1.myFunction(40);
}輸出
Value of x is: 50
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP