C++/C++ 기본

객체 치환 및 객체 리턴

검정비니 2018. 7. 26. 15:13
728x90
반응형

객체 치환 및 객체 리턴



1. 객체 치환



객체 치환 시 객체의 모든 데이터가 비트 단위로 복사된다. 다음 예를 보자.


i.e.

Circle c1(5); //반지름 값 = 5

Circle c2(30); //반지름 값 = 30

c1 = c2; //c2 객체를 c1 객체에 비트 단위로 복사한다. c1의 반지름이 30이 된다.


객체 치환 후 c1과 c2의 내용이 완전히 같다. 그러나 c1, c2가 하나의 객체가 되는 것은 아니다. c1과 c2는 별개이며 내용물만 같을 뿐이다. 객체 치환(assignment)은 동일한 클래스 타입에 대해서만 적용된다.




2. 함수의 객체 리턴



C++에서 함수가 객체를 리턴하는 경우를 보자. 다음은 Circle 클래스의 객체를 리턴하는 getCircle() 함수이다.


i.e.

Circle getCircle() {

Circle temp(30);

return temp; //객체 temp 리턴

}


return 문이 실행되면 temp의 복사본이 생기고 이 복사본이 getCircle()을 호출한 곳으로 전달된다. 그러고 나서 temp는 소멸된다.

반응형

'C++ > C++ 기본' 카테고리의 다른 글

복사 생성자  (0) 2018.07.27
참조와 함수  (0) 2018.07.27
함수 호출 시 객체 전달  (0) 2018.07.26
cin.getline()과 getline()의 차이점  (0) 2018.07.24
this 포인터  (0) 2018.07.17