이번에도 MFC 프로그램을 다루면서 진행하게된 내용입니다. 🥶 정렬을 다시 해주어야하는데 단순히 숫자나 문자비교가 아니라 자기만의 기준으로 정렬을 해야할 때가 있을 수 있습니다. 그 방법을 공유해보록 하겠습니다. #include 먼저 벡터정렬을 해주기 위해 algorithm을 포함시켜 줍니다. // 사용할 벡터의 자료형 예시 typedef struct __ReindexData { int vsIndex; int row; int col; int orderNum; int realIndex; int orderIndex; } ReindexData; // 비교에 사용할 함수 정의 예시 bool compare(ReindexData a, ReindexData b) { if (a.col == b.col) { return..
MFC프로그램을 다루던 중에 파일을 다루어야 하는 일이 생겼습니다. 🥶 이 글에서 다룰 파일은 단순히 txt 파일로 되어있고 복잡한 바이트 단위로 저장돼있는 파일이 아니라 단순한 문자열을 다루고 있는 파일입니다. 예를 들면 위와 같은 파일입니다. 😮 추측을 한다면 첫 번째 줄의 3은 아래에 나올 데이터 개수인 것을 쉽게 알 수 있습니다. 그 아래 데이터를 보면 맨 앞에는 모두 0인 것을 보아하니 그냥 구분을 위해 0을 쓴 것 같습니다. 이후에는 연도 월 일 순으로 되어있고 뒤에도 어딘가에서 필요한 데이터라고 생각하면 되겠습니다. 문제는 위처럼 되어있는 텍스트 파일을 읽어와서 우리가 필요한 정보를 빼내야 한다는 것입니다. 😨 그럼 지금부터 방법을 설명해드리도록 하겠습니다. CStdioFile 이용해 보기 ..
190719-3 객체 : 정적인 상태 = 프로퍼티 기능 = 기능 [생산성] 재사용 확장성 유연성 수정성 유지보수 : trade off 캡슐화 상속 다형성 객체를 만드는 2가지 방법 #include using namespace std; class Point { }; int main() { Point p1; Point* p = new Point; } virtual 함수가 아닌것은 컴파일 시간대 그 함수가 정해진다. 어떤 함수를 호출할지 결정된다. virtual 함수는 컴파일 타임에 결정되지 않고. 다음에 virtual 함수 테이블을 검색해서 호출하라고 결정된다. 함수가 virtual 테이블에 저장되고 참조하여 사용하게된다. (좀더 느리다 그래서) class Point { int x; int y; public..
190619(2일차) 생성자, 복사생성자, 소멸자 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. #include using namespace std; #include"cstring" class Car2 { int engine; int pipe; int piston; public: Car2() : engine(10), pipe(10), piston(10) {} //Car2(int eg = 10 , int pp =10 , int pt=10) :engine(eg), pipe(pp), piston(pt) {} Car2() {} void print(void) { cout