C++/디딤돌 C++

[C++ 소스] 개체 출력자

언제나휴일 2016. 12. 16. 14:02
반응형

[C++ 소스] 개체 출력자


Member.cpp

Member.h

Program.cpp


//Member.h

#pragma once

#include <iostream>

#include <string>

using namespace std;

class Member

{

    string name;

    const int num;

public:

    Member(int num,string name);

    int GetNum()const;

    string GetName()const;

    void View(ostream &os=cout)const;

};

ostream &operator<<(ostream &os,const Member &member); //개체 출력자

ostream &operator<<(ostream &os,const Member *member); //개체 출력자



//Member.cpp

#include "Member.h"

Member::Member(int num,string name):num(num)

{

    this->name = name;

}

int Member::GetNum()const

{

    return num;

}

string Member::GetName()const

{

    return name;

}

void Member::View(ostream &os)const

{

    os<<"번호:"<<num<<" 이름:"<<name;

}

ostream &operator<<(ostream &os,const Member &member)

{

    member.View(os);

    return os;

}

ostream &operator<<(ostream &os,const Member *member)

{

    member->View(os);

    return os;

}


//Program.cpp

#include <fstream>

using namespace std;

#include "Member.h"

 

int main()

{

    Member *member = new Member(3,"홍길동");

    Member member2(4,"강감찬");

 

    cout<<member<<endl;   

    cout<<member2<<endl;  

 

    ofstream of("data.txt"); //출력 파일 스트림 개체 선언

    of<<member<<endl; //출력 파일 스트림에 출력

    of<<member2<<endl;  //출력 파일 스트림에 출력

    of.close();

 

    delete member;

    return 0;

}


실행 결과

번호:3 이름:홍길동

번호:4 이름:강감찬


data.txt 파일 내용

번호:3 이름:홍길동

번호:4 이름:강감찬



본문

[디딤돌 C++] 54. 개체 출력





반응형