C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[29662] Re:함수애 값을 대입하는 것에 대하여
나그네 [] 736 읽음    2004-05-07 22:09
1. 이것은 함수에 대한 대입의 문제가 아니다.
2. 함수 자체의 문제가 아니라 함수가 리턴하는 변수의 문제이다.
3. 참조를 리턴하지 않는 함수는 임시변수를 생성하고 그 함수에 대입하는 것은 임시변수에 대입하는 결과가 된다.
그러나 이경우 대입은 함수의 값을 받을 좌변이 없스므로 어떠한 효력이 없다.
4. 참조를 리턴할 경우에는 함수에 대입하는 것은 참조가 참조하는 변수에 대입하므로 임시객체가 아닌 특정 변수의 값을 변경한다.
그러므로 함수에 대입할 경우 함수의 원형은 참조를 리턴하여야만 한다.



김영일 님이 쓰신 글 :
: C++ 기초플러스 3판에 보면 함수에 값을 대입하는 것이 있는데 어떻게 하여야 하나요?
:
: 책에 의하면
: 배열 클래스인 ArrayDb 클래스를 마치 배열처럼 이용하려는 것인데
:
: //클래스 선언부
: class ArrayDb
: {
: private:
:     unsigned int size;
:     double * arr;
: public:
: ---중략
: virtual double & operator[](int i);
: virtual const double & operator[](int i) const;
: --중략
: };
:
: //클래스 구현
: --중략
: double & ArrayDb::operator[](int i)
: {
:     return arr[i];
: }
:
: //클라이언트에서 배열 클래스 사용
:
: ArrayDb scores(5,2.0);
:
: cout << scores[1] << endl;
:
: scores[i] = 0.5; //이 부분이 함수(operator[](int i))에 대입하는 문인데
: 이해가 안가는 군요
:
: operator[](int i)함수는 리턴하게 되어있는데 어떻게 값을 함수에 대입하는지........
:
:
:
:
:
:
:
:

+ -

관련 글 리스트
29658 함수애 값을 대입하는 것에 대하여 김영일 780 2004/05/07
29663     Re:함수애 값을 대입하는 것에 대하여 김영일 735 2004/05/07
29662     Re:함수애 값을 대입하는 것에 대하여 나그네 736 2004/05/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.