코드 >>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include <fstream>
#include <sstream>
#include <iostream>
#include <string>
class Cat
{
public:
Cat(std::string name, int age) : mName{ std::move(name) }, mAge{ age } {};
void print(std::ostream & os)
{
os << mName << "," << mAge << "\n";
}
private:
std::string mName;
int mAge;
};
int main()
{
Cat kitty{ "kitty",3 };
Cat nabi{ "nabi",2 };
// test.txt에 출력 내용 저장
// scope 안에 넣어 주어서 자동적으로 file close를 해야 한다.
{
std::ofstream ofs{ "test.txt" };
if (!ofs)
{
std::cout << "cannot open the file!" << std::endl;
return 0;
}
//kitty.print(std::cout);
//nabi.print(std::cout);
kitty.print(ofs);
nabi.print(ofs);
}
Cat kitty2{ "meow", 4 };
Cat nabi2{ "nabi", 4 };
std::stringstream ss;
kitty2.print(ss);
nabi2.print(ss);
std::cout << ss.str() << std::flush;
return 0;
}
|
'C' 카테고리의 다른 글
c++ vector를 활용한 binary search (0) | 2021.06.29 |
---|---|
c++ stable sort, unstable sort (0) | 2021.06.29 |
c++ 다운캐스팅 시 static cast 절대 쓰지 말자, dynamic_cast (0) | 2021.06.29 |
c++ class에서 object slicing 문제 발생 (0) | 2021.06.29 |
c++ pure virtual function, abstract class, multiple inheritance code (0) | 2021.06.29 |