본문 바로가기

C 에스프레소

9장 Programming 1. 은행계좌 ※ 아 이건 문제가 좀 거지 같네요. Virtual 함수 쓰는 법 연습인 건 알겠지만, 문제 정의도 별로고... 실제 테스트 시나리오도 너무 부실하게 기술되어 있고... 좀더 문제가 이해하기 쉬웠으면 좋겠습니다. 결국, 제 맘대로 해버렸다는... 에서 cout으로 출력할 대, float 계산 결과의 소수점 맞추는 것도 마음에 안드네요. 이건 c의 stdio의 fprinf 같은 것 이용해야 깔끔합니다. ● BankAcct.h #ifndef __BACKACCT_H__ #define __BACKACCT_H__ #include #include class BankAcct { protected: int money; public: BankAcct(); ~BankAcct(); void deposit(int v_mone.. 더보기
Chapter 8 LAB solution p.339의 상속관련 예제입니다. ● human.h #include #include using namespace std; #ifndef HUMAN_H #define HUMAN_H class Human { protected: string name; int age; public: Human(); Human(string name, int age); ~Human(); void setName(string v_name); string getName(void); void setAge(int v_age); int getAge(void); void print(void); }; #endif ● human.cpp #include "human.h" Human::Human() { /* Default constructor */ .. 더보기
[Review] Chapter 01. p.06 - 객체지향방법 (Object-oriented approach)의 목적 객체 지향 방법의 최대 목표는 코드의 재사용(reuse)이다. (p.7) ● 객체지향의 최대 목표가 코드의 재사용일까? 실제 작업에서는 그 이점을 크게 느끼기는 어렵다. 다른 사람이 만든 코드를 라이브러리로 제공하는 것은 꼭 객체지향방법론에만 적용되는 것은 아니다. jQuery와 같이 JavaScript 같은 언어에서도 라이브러리로 함수 Set을 제공한다. 특히, Virtual 및 Interface를 이용한 추상함수의 경우, 함수 상속자가 각각의 함수를 재구현해야 한다. 경험한 바에 따르면, Class를 상속한다고 해서 작업량이 늘 줄어드는 것은 아니다. ● 객체지향의 가장 큰 장점은, 오히려 각각의 객체간의 완전한 분리를 통한 수정 용이성이 아닐까? 전역변수를 철저하게 배재하고 깔끔하게 독립적으로 돌아.. 더보기
뭐부터 할까? 확실히, 개강시즌이라 그런지 "C++ Espresso 해답" 이란 검색어로 들어오는 분들이 많네요. 진도가 어디쯤인지, 과제가 어떤 식인지, 혹은 어떤 부분이 막히는지 남겨주시면 그 부분부터 볼까 합니다. 뭐 교수님도 검색해서 이 블로그를 아시겠지만... 더보기