1. 멤버 변수와 지역 변수를 구별
멤버 변수와 매개 변수의 이름은 다르게 만드는 것이 좋겠지만
이미 작성한 코드와 파일이 많을 때는 그러한 것을 항상 지키는 것은 쉽지 않을 것이기 때문에
this 포인터를 사용하여 구분하여 충돌을 피할 수 있습니다.
void testclass::member_func(int safe) {
this->variable = variable;
}
this -> variable : 멤버 변수
variable : 매개변수
2. 멤버 함수 체이닝 구현
함수 체이닝 : 여러 함수를 연이어 호출하는 방식
#include <iostream>
class Testclass {
private:
int num;
public:
Testclass(int n) : num(n) {}
Testclass& add(int n); // add 함수 선언
void print() const { std::cout << "num: " << num << std::endl; }
};
Testclass& Testclass::add(int n)
{
num += n; // num 값을 증가시킴
return *this; // 자기 자신 반환
}
int main() {
Testclass obj(10);
obj.add(5).add(3); // 함수 체이닝
obj.print(); // num: 18 출력
return 0;
}
this로 객체 자신의 포인터를 반환하는 것이 가능합니다.
'C++' 카테고리의 다른 글
예외 처리 생략과 실패 대응 (0) | 2025.01.09 |
---|---|
예외 처리 - try, catch, throw 와 어설션 비교 (0) | 2025.01.08 |
디자인 패턴 - 싱글톤 패턴 (0) | 2025.01.06 |
기존의 for 문 & 범위 기반 for 문 비교 (0) | 2025.01.03 |
멤버 함수의 const 사용 (0) | 2025.01.02 |