게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 함수의 참조자반환, strcat(문자열이어붙이기)에관해..
게시물ID : programmer_16798짧은주소 복사하기
작성자 : 윗집사는그녀
추천 : 0
조회수 : 556회
댓글수 : 2개
등록시간 : 2016/04/19 19:39:40
옵션
  • 본인삭제금지
#include <iostream>
using namespace std;

int & RefRetFuncOne(int &ref)
{
ref++;
return ref;
}
int main()
{
int num1=1;
int num2=RefRetFuncOne(num1);

num1 += 1;
num2 += 100;
cout<<"num1 : "<< num1 <<endl;
cout<<"num2 : "<< num2 <<endl;
return 0;
}
이 함수는 참조자를 반환하고 있습니다 그걸 변수로 받고있구요
아무런 이상없는 코드입니다
제가 string 클래스를 만드는 과제를 하는중인데요 연산자오버로딩을 이용해 문자열 이어붙이기를 만드려고 합니다 (객체)+(객체)


class String
{
private:
char str[20];
public:
String() {}
String(char *s)
{
strcpy(str, s);
}
String& operator +(const String &s) 
{
String s3;
s3 = strcat(str, s.str);
return s3;
}
};
void main()
{
String s1("string");
String s2("class");
String s;

s = s1 + s2;
}

+ 함수 보시면 (빨간글씨) 참조자로 반환을 하고 있습니다. 그걸 다시 객체로 받구 있구요
위에꺼는 되는데 왜 아래꺼는 안되는건가요 ㅠㅠ 저 참조자는 함수가끝나는 순간 메모리에서 사라지므로 값을 받아올수 없다고 하는데
그럼 첫번째 코딩에서도 안되야 하는게 아닌가요 ㅠㅠ

그리고 strcat을 이용해 문자열 이어붙이기를 만드려고 하는데
저기서 &이 기호만 빼면 맞는 코딩인가요??
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호