분류 전체보기378 팩토리 메소드 패턴 팩토리 메소드 패턴 정의:-> 객체를 생성하기 위한 인터페이스를 정의 하는데 어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정한다.-> 클래스 특성상 생성자를 통하여 객체를 생성하면 그 클래스만의 객체가 생성되는데 이것을 피하기 위하여 직접 각각의 특성을 갖는 클래스를 인터페이스클래스를 상속받아 그 클래스 에서 생성해주는 방식이다.-> 인터페이스 클래스에서 공통적이거나 연관성있는 메소드를 가상함수로 만들어주고 서브 클래스에서 그 함수를 구현하고, 그타입에 따른 요청을 할때 그 타입의 객체를생성해준다.-> 인터페이스 클래스의 포인터를 물고있다가 어떤 타입의 객체인지를 알려주면 그 객체를 생성해준다. -> 팩토리 메소드 패턴을 이용하면 클래스의인스턴스를 만드는 일을 서브 클래스에게 맏기게 된다. 결론적.. 2013. 3. 19. 파일 입출력 Exam //헤더파일#ifndef _KGS_H_#define _KGS_H_ #include #include #include #include #define MAX 50using namespace std; typedef struct {string name;int score[3];int sum;double aver;}Student;#else#endif //메인#include "Data.h" int _tmain(int argc, _TCHAR* argv[]){ char fn[]="kgs.txt";Student mStudent[MAX];fstream fp;int i,len =0; fp.open(fn,ios::in);if (fp.fail()){return 0;}i =0;while (!fp.eof()){fp>>mStudent[.. 2013. 3. 16. 파일 입출력 임의접근파일 이진 파일이면 임의 접근 파일로 바로 사용할수있다.파일에서 원하는 위치로 파일 포인터를 이동하는 멤버 함수 seekp() 와 seekg() 가 있음 seekp(바이트,이동기준) ->파일에 출력할때 파일 포인터를 지정한 만큼 이동seekg(바이트,이동기준) -> 파일에 입력할때 파일 포인터를 지정한 만큼 이동 두 멤버 함수에서 이동기준은 파일의 시작 위치,파일의 끝 그리고 현재 위치로,나타낸다. ios::beg -> 파일의 처음 시작위치부터 지정한 바이트만큼 이동ios::end -> 파일의 마지막 위치부터 지정한 바이트만큼 이동 ios::cur -> 현재 위치부터 지정한 바이트만큼 이동 int _tmain(int argc, _TCHAR* argv[]){fstream fp;int score; fp.open(.. 2013. 3. 16. 파일 입출력 fstream 클래스 fstream 객체는 ifstream 과 ofstream의 합체이다. 읽기 쓰기를 다 할경우 파일 모드를 지정하여 사용 ios::in -> 파일에서 읽어오기 ios::out->파일에 출력ios::app -> 파일에 추가하여 출력하기ios::trunc -> 파일이 이미 존재하는 경우 삭제하고,새로운 파일로 생성ios::binary -> 이진 파일로 처리하기 int _tmain(int argc, _TCHAR* argv[]){ fstream fs;fs.open("test.txt",ios::out);if (fs.fail()){return 0;}fs 2013. 3. 16. 파일 입출력 (eof) int _tmain(int argc, _TCHAR* argv[]){ ifstream input;//입력 파일 객체 char word[50]={0,}; input.open("test.txt");//eof 는 파일의 끝을 의미한다. 파일의 마지막이 아니면 false 를 반환,마지막이면 true 를반환if (input.eof()==false){input>>word;cout 2013. 3. 16. 파일 존재여부 확인 (faile ) int _tmain(int argc, _TCHAR* argv[]){ ifstream input;//파일 객체 생성input.open("test.txt");//파일 열기//fail 은 파일이 없으면 true 반환,있으면 false 를 반환 //--> 파일존재여부를 확인한 다음 작업을 수행하면 파일 생성시 발생한 오류 방지함if (input.fail()){cout 2013. 3. 16. 이전 1 ··· 45 46 47 48 49 50 51 ··· 63 다음