컴공생의 다이어리

[c++] std::ofstream 연산자 오버로딩 본문

Development/C & C++

[c++] std::ofstream 연산자 오버로딩

컴공 K 2021. 1. 3. 20:46
#include <fstream>
#include <iostream>
#include <string>

class Human {
	std::string name;
	int age;
    
public:
	Human(const std::string& name, int age) : name(name), age(age) {}
		std::string get_info() {
		return "Name :: " + name + " / Age :: " + std::to_string(age);
	}
	friend std::ofstream& operator<<(std::ofstream& o, Human& h);
};
std::ofstream& operator<<(std::ofstream& o, Human& h) {
	o << h.get_info();
	return o;
}

int main() {
	// 파일 쓰기 준비
	std::ofstream out("test.txt");
	Human h("홍길동", 23);
	out << h << std::endl;
	return 0;
}

ofstream 객체의 레퍼런스를 받고, 다시 이를 리턴하는 operator<<함수를 정의해주면 된다.

 

 

 

modoocode.com/312

 

씹어먹는 C++ 강좌 - PDF 파일

 

modoocode.com

 

728x90

'Development > C & C++' 카테고리의 다른 글

[c++] class 상속(private, protected, public)  (0) 2021.01.03
[c++] 문자열 스트림 (std::stringstream)  (0) 2021.01.03
[c++] 파일에 쓰기  (0) 2021.01.03
[c++] 파일 전체 읽기  (0) 2021.01.03
[c++] 파일 입출력  (0) 2021.01.03
Comments