C ++에서이 포인터를 구현하는 방법?



이것은 호출자 개체를 가리키는 포인터입니다. 이 포스트에서 우리는 C ++에서이 포인터의 개념에 대해 더 깊이 파고들 것입니다.

프로그래밍하는 동안 'this'키워드를 접했을 수 있습니다. ‘this’는 호출자 개체를 가리키는 포인터입니다. 이 포스트에서 우리는 이것의 개념을 더 깊이 파고들 것입니다 C ++의 포인터

이 기사에서는 다음 사항을 다룰 것입니다.





C ++의이 포인터에 대한이 기사부터 시작하겠습니다.

C ++의이 포인터

개체에 대한 포인터

사람들은 작업이 약간 헷갈 리기 때문에 포인터를 멀리하는 경향이 있습니다. 이 포스트에서 우리는 가능한 가장 간단한 방법으로 포인터의 개념을 이해할 것입니다. 포인터는 특정 변수의 주소를 보유하는 데 사용됩니다. 주소를 저장하는 변수를 참조하는 데 사용됩니다. 여기서 주목해야 할 한 가지 중요한 점은 포인터가 포인터 유형과 일치하는 변수의 주소 만 저장할 수 있다는 것입니다. 즉, int 유형 포인터는 int 유형 변수의 주소 만 보유 할 수 있습니다.



객체의 주소를 저장하는 데 사용되는 포인터의 유형은 무엇입니까? 이 질문에 대한 답을 찾으려면 특정 개체의 유형이 무엇인지 이해해야합니다. Int, char, float? 아니요, 개체는 클래스 유형입니다. 즉, 객체의 유형은 해당 객체가 속한 클래스입니다. 특정 클래스는 사용자 정의 데이터 유형이고 해당 클래스의 객체는 해당 유형에 속합니다.

지금까지는 원시 데이터 유형의 참조 변수에 대한 포인터를 만들었을 것입니다. 특정 객체를 참조 할 수있는 포인터를 어떻게 사용할 수 있는지 살펴 보겠습니다.

객체에 대한 포인터에 대한 샘플 코드로 이동



자바 스크립트는 배열의 길이를 얻습니다.

통사론

클래스 _ 이름 * 포인터 _ 이름

#include using namespace std class Car {public : int Number_of_wheels int Number_of_passengers void getinfo (int x, int y) {Number_of_wheels = x Number_of_passengers = y} void showinfo () {cout<<'Number of Wheels = '< 산출 

바퀴 수 = 4

승객 수 = 5

바퀴 수 = 6

승객 수 = 8

이것이 객체를 참조하기 위해 포인터를 사용할 수있는 방법입니다.

노트 그만큼. 연산자는 객체 이름과 함께 사용되며-> 연산자는 포인터를 통해 메소드에 액세스하는 동안 사용됩니다.

C ++의이 포인터에 대한이 기사로 이동

이 포인터

파이썬을 사용한다면‘자아’라는 단어를 접했을 것입니다. ‘this’와‘self’의 기능은 서로 비슷합니다. 'This'는 볼 수 없지만 클래스의 모든 비 정적 또는 인스턴스 메소드에서 사용할 수있는 클래스의 모든 비 정적 메소드에 전달되는 매개 변수입니다. 'This'포인터는 호출되는 즉시 비 정적 멤버 함수로 전달됩니다. 클래스의 모든 비 정적 멤버 함수에 대한 암시 적 인수입니다.

이 포인터의 샘플 코드로 이동

#include using namespace std class Car {private : int Number_of_wheels int Number_of_passengers public : void getinfo (int x, int y) {this-> Number_of_wheels = x this-> Number_of_passengers = y} void showinfo () {cout<<'Number of Wheels = '< 산출 

바퀴 수 = 4

승객 수 = 5

현재 개체의 주소는 = 0x7ffdbac81740입니다.

바퀴 수 = 6

승객 수 = 8

현재 개체의 주소는 = 0x7ffdbac81748입니다.

위 프로그램은 'this'키워드에 대한 간략한 이해를 제공합니다. ‘this’키워드는 변수 이름이 충돌하거나 메서드에 여러 개체가 관련되어있을 때 유용합니다.

리눅스에 하둡을 설치하는 방법

파생 클래스에 대한 포인터

포인터는 기본 클래스를 참조하는 데 사용할 수있을뿐만 아니라 파생 클래스 개체를 가리키는 데 사용할 수도 있습니다. 예를 들어 Car 클래스가 Vehicles 클래스에서 상속하는 경우 Vehicles 유형의 포인터를 사용하여 Car 유형의 개체를 가리킬 수도 있습니다.

차량 * ptr 차량 차량 Car car ptr = & vehicles ptr = & car

여기서 유일한 문제는 파생 클래스 개체를 가리 키기 위해 기본 클래스 포인터를 사용하는 경우 파생 클래스 개체에 의해 상속 된 기본 클래스 메서드에만 액세스 할 수 있다는 것입니다. 기본 클래스 포인터를 사용하여 파생 클래스의 멤버에 액세스 할 수 없습니다.

Car 클래스의 멤버가 Vehicles 클래스의 멤버 중 하나와 이름이 같으면 포인터가 기본 클래스 멤버에 액세스합니다.

따라서 우리는 'This Pointer in C ++'에 대한이 기사의 끝까지 왔습니다. 자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.