로그인

검색

C/C++
2013.07.28 02:44

Simplified Logger Class

MoA
조회 수 3328 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
#include <iostream>
#include <fstream>

using namespace std;

class Logger
{
 public:
   Logger(const char* filename = "program.log")
     {
       logfile = new fstream(filename, fstream::out);
     }
   ~Logger()
     {
       logfile->close();
       delete logfile;
     }

   Logger& operator<<(const char* msg)
     {
       *logfile << msg;
       return *this;
     }
   Logger& operator<<(const int val)
     {
       *logfile << val;
       return *this;
     }
 private:
   fstream* logfile;
};

class MyClass
{
 public:
   MyClass(const int n)
     {
       data = n;
     }

   ~MyClass()
     {
     }

   friend ostream& operator<<(ostream& o, const MyClass& v)
     {
       return o << "MyClass data = " << v.data << "n";
     }

 private:
   int data;
};

int main()
{
   Logger mainlog;
   MyClass a(10);

   // These work fine
   cout << a;
   mainlog << "Bla " << 200 << "n";

   // This doesn't work
   //mainlog << a;

   return 0;
}



?

  1. Programming 게시판 관련

  2. Base64 decoder (binary file로 저장)

  3. 윈도우 프로그램의 종료 메시지 순서

  4. Google의 C++ 라이브러리

  5. 앱 디자인의 발견 - 메모 서비스를 생각하다

  6. Google의 C++ 라이브러리

  7. 이클립스에서 ADT 설치시 에러 해결

  8. 예외 처리 가이드 (Slide)

  9. Math Library

  10. 텍스트 에디터 Sublime Text 2

  11. 프로그램 배포용으로 만드는 과정

  12. 메트로 스타일 앱개발을 위한 8가지 팁

  13. AWS VPC 피어링

  14. Top 3 most used Pytorch Ecosystem Libraries you should Know about

  15. Great summary cheat sheet (OpenCV)

  16. memset vs for 초기화. 속도 차이가 얼마나 날까?

  17. Office 스타일의 리본바 만드는 법

  18. UpdateData(TRUE) or UpdateData(FALSE) 구분

  19. SciPy and NumPy

  20. Embedding Python in C/C++

  21. [GUI] Tkinter, wxPython

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 15 Next
/ 15