Ten wskaźnik w C ++
W języku C ++, każdy obiekt można uzyskać poprzez własny adresten wskaźnik.Ten wskaźnik jest ukryte parametry wszystkich funkcji składowych. W związku z tym, wewnętrzna funkcja element, które mogą być stosowane, aby wskazać obiektu wywołującego.
Nietym przyjacielem funkcyjne wskaźniki ponieważ przyjaciel nie jest członkiem klasy.Tylko członkowie majątę funkcję wskaźnika.
Poniższe przykłady pomagają lepiej zrozumieć pojęcie tego wskaźnika:
#include <iostream> using namespace std; class Box { public: // 构造函数定义 Box(double l=2.0, double b=2.0, double h=2.0) { cout <<"Constructor called." << endl; length = l; breadth = b; height = h; } double Volume() { return length * breadth * height; } int compare(Box box) { return this->Volume() > box.Volume(); } private: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box }; int main(void) { Box Box1(3.3, 1.2, 1.5); // Declare box1 Box Box2(8.5, 6.0, 2.0); // Declare box2 if(Box1.compare(Box2)) { cout << "Box2 is smaller than Box1" <<endl; } else { cout << "Box2 is equal to or larger than Box1" <<endl; } return 0; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Constructor called. Constructor called. Box2 is equal to or larger than Box1