-
명품 C++ 5장 10번C++ 2018. 10. 31. 20:11
10. 참조를 리턴하는 코드를 작성해보자. 다음 코드와 실행 결과를 참고하여 append() 함수를 작성하고 전체 프로그램을 완성하라. append()는 Buffer 객체에 문자열을 추가하고 Buffer 객체에 대한 참조를 반환하는 함수이다.
소스코드
#include <iostream>using namespace std;#include <string>class Buffer {string text;public:Buffer(string text) { this->text = text; }void add(string next) { text += next; } // text에 next 문자열 덧붙이기void print() { cout << text << endl; }};Buffer& append(Buffer& buf, string text) {buf.add(text);return buf;}int main() {Buffer buf("Hello");Buffer& temp = append(buf, "Guys"); // buf의 문자열에 "Guys" 덧붙임temp.print(); // HelloGuys" 출력buf.print(); // "HelloGyus" 출력}실행결과
값이 변경된 객체를 리턴하기 위해 참조에 의한 호출을 사용했습니다.
'C++' 카테고리의 다른 글
명품 C++ 5장 12번 (2) 2018.10.31 명품 C++ 5장 11번 (0) 2018.10.31 명품 C++ 5장 9번 (0) 2018.10.31 명품 C++ 5장 8번 (0) 2018.10.31 명품 C++ 5장 7번 (0) 2018.10.31