다음시간 |
타도코코아CppStudy/0724 |
오늘 한 것들 ¶
- 객체지향에 대한 간단한 설명
- 객체는 속성과 행위를 가지고 있다.
- C++에서는 이를 멤버변수, 멤버함수라는 개념으로 표현하고 있다.
- 이러한 객체 사이의 통신으로써, 실세계를 모델링하는 기법을 객체지향 프로그램이라 한다.
- 객체는 속성과 행위를 가지고 있다.
- 그외 프로젝트 진행에 관한 전반적인 계획 수정
간단한 OO Hello World ¶
~cpp #include <iostream> #include <string> using namespace std; class Human { private: string m_name; public: Human(string& name) { m_name = name; } string& getName() { return m_name; } void sayHello(Human& other) { cout << m_name << "왈 : " << other.getName() << " 안녕~"; } }; int main() { Human sunhee("선희"); Human jungwoo("정우"); sunhee.sayHello(jungwoo); jungwoo.sayHello(sunhee); return 0; }
다음시간 발표 ¶
- 클래스에 대해(기초플러스 9장 참조) - 정우
- 객체지향에 대해(기초플러스 9장 참조) - 선희
SeeAlso) 타도코코아CppStudy/0724/선희발표_객체지향
- 상속에 대해(기초플러스 1?장 참조) - 코코아
다음시간 숙제 - 아무거나 골라서 해오세요. ¶
최소 한개. 많이 해오면 응분의 보상이 있을지도?
문제 | 학생이름 | 학생의 답안 | 강사의 평 |
소트 | CherryBoy | sort_CherRy.cpp | 10이라는 매직넘버를 없애세요. 만약에 50000개짜리 배열이면 저 안에 있는 10은 모두 50000으로 바꿔야 하는 수고를 해야겠죠? |
수진 | 수진이소트.cpp | 역시나 10이라는 매직넘버 없애세요. | |
정우 | sort_winy.cpp | 잘했어요^^ 50000이라는 매직넘버 없애세요. | |
선희 | sort.cpp | 굿 | |
피보나치 수열 | CherryBoy | fibonacci_CherRy.cpp | 역시 2학년~ 특별히 나무랄데 없이 잘했어요. |
코코아 | 코코아의피보나치.cpp | 변수명에 신경을 써서 이름을 고쳐 보세요. | |
선희 | fibonacci.cpp | 잘했어요^^ | |
정우 | pibonachi.cpp | 잘했어요^^ | |
수진 | fibonacci_sujin.cpp | 역시 잘했어요 근데 옛날의 그 화려한 UI가 어디론가 없어졌네요.; | |
소수구하기 | CherryBoy | sosu_CherRy.cpp | 역시 특별히 신경쓸 부분은 없네요. 하지만 모듈화라는 측면에서 볼때 안쪽에 소수인지 아닌지 판별하는 부분은 함수로 뺄수 있겠죠? 또 yesno라는 변수명도 좀 거슬리네요. 뭔가 좀 적절한 이름의 변수명은 없을까요? 그리고 속도를 좀 개선해보세요. 제가 개선해보니 15배의 속도 상승이 있었습니다. |
정우 | sosu.cpp | 잘했습니다. 근데 1은 소수가 아니랍니다.^^; 조금 더 최적화가 가능할 듯 하네요. 수학책 한번 찾아보세요. 제가 살짝 고쳐 보니 약 3배의 속도 상승이 있네요. | |
파스칼의 삼각형 | CherryBoy | paskal_CherRy.cpp | 이것도 역시 특별히 나무랄데는 없네요. 하지만.. 쓸데없는 주석은 줄여보도록 하세요. 그리고 pascal이랍니다.^^ |
정우 | pascal.cpp | 캡~ | |
랜덤워크 | CherryBoy | randwalk_CherRy.cpp | main안에 다 때려넣었군요. 함수 이름 잘 지어서 빼보도록 하세요. 즉, 좀더 구조적으로 만들어 보라는 겁니다. 대근이는 yesno라는 이름을 좋아하나보군요. |
마방진(홀수) | CherryBoy | MaBangJin_CherRy.cpp | 굿~ 하지만 클래스 썼다고 객체지향은 아니죠^^ 좀더 책임을 분산시켜 보세요. 또한 한 메소드의 길이가 너무 기네요. 중복도 좀 있고. OAOO(Only and only once)를 지켜보세요. |
1900년 이후의 만년달력 | . | . | . |
8퀸 문제 | . | . | . |
잡담 ¶
선희랑 정우는 숙제 안하나요?
그러게.....오늘은 마방진이랑 만년달력을 해보겠습니닷!! -- CherryBoy
그러게.....오늘은 마방진이랑 만년달력을 해보겠습니닷!! -- CherryBoy
대근이는 2학년이니까 객체지향으로 짜보세요 --인수
대근이형 넘 잘해용.. 흑. 벌써 세개빼고 다하시다닝~~ -- 정우아냐, 아냐. 2학년치곤 못하는거지 마방진은 슷하 좀 쌔리고 해야겠다.. 아, 글고 인수형 매직넘버는 없앴어요 -- CherryBoy
매직넘버 없애라는게 const 선언하라는거에여? -_-a..--정우그러니까 코드 도처에 난무하는 10, 50000 이런 숫자는 이렇게 작은 프로그램에서는 금방 알 수 있지만... 프로그램이 조금만 커져도, 저런 숫자가 많아지면 알아볼수가 없거든.. 나중에 삽질하지 말라고 미리 습관을 들여놓으라는 거야. --인수
const도 좋고 #define도 좋지만, C++이라면 역시 const --snowflower
오늘 한 것들 ¶
- 객체지향에 대한 간단한 설명
- 객체는 속성과 행위를 가지고 있다.
- C++에서는 이를 멤버변수, 멤버함수라는 개념으로 표현하고 있다.
- 이러한 객체 사이의 통신으로써, 실세계를 모델링하는 기법을 객체지향 프로그램이라 한다.
- 객체는 속성과 행위를 가지고 있다.
- 그외 프로젝트 진행에 관한 전반적인 계획 수정
간단한 OO Hello World ¶
~cpp #include <iostream> #include <string> using namespace std; class Human { private: string m_name; public: Human(string& name) { m_name = name; } string& getName() { return m_name; } void sayHello(Human& other) { cout << m_name << "왈 : " << other.getName() << " 안녕~"; } }; int main() { Human sunhee("선희"); Human jungwoo("정우"); sunhee.sayHello(jungwoo); jungwoo.sayHello(sunhee); return 0; }
다음시간 발표 ¶
- 클래스에 대해(기초플러스 9장 참조) - 정우
- 객체지향에 대해(기초플러스 9장 참조) - 선희
SeeAlso) 타도코코아CppStudy/0724/선희발표_객체지향
- 상속에 대해(기초플러스 1?장 참조) - 코코아
다음시간 숙제 - 아무거나 골라서 해오세요. ¶
최소 한개. 많이 해오면 응분의 보상이 있을지도?
문제 | 학생이름 | 학생의 답안 | 강사의 평 |
소트 | CherryBoy | sort_CherRy.cpp | 10이라는 매직넘버를 없애세요. 만약에 50000개짜리 배열이면 저 안에 있는 10은 모두 50000으로 바꿔야 하는 수고를 해야겠죠? |
수진 | 수진이소트.cpp | 역시나 10이라는 매직넘버 없애세요. | |
정우 | sort_winy.cpp | 잘했어요^^ 50000이라는 매직넘버 없애세요. | |
선희 | sort.cpp | 굿 | |
피보나치 수열 | CherryBoy | fibonacci_CherRy.cpp | 역시 2학년~ 특별히 나무랄데 없이 잘했어요. |
코코아 | 코코아의피보나치.cpp | 변수명에 신경을 써서 이름을 고쳐 보세요. | |
선희 | fibonacci.cpp | 잘했어요^^ | |
정우 | pibonachi.cpp | 잘했어요^^ | |
수진 | fibonacci_sujin.cpp | 역시 잘했어요 근데 옛날의 그 화려한 UI가 어디론가 없어졌네요.; | |
소수구하기 | CherryBoy | sosu_CherRy.cpp | 역시 특별히 신경쓸 부분은 없네요. 하지만 모듈화라는 측면에서 볼때 안쪽에 소수인지 아닌지 판별하는 부분은 함수로 뺄수 있겠죠? 또 yesno라는 변수명도 좀 거슬리네요. 뭔가 좀 적절한 이름의 변수명은 없을까요? 그리고 속도를 좀 개선해보세요. 제가 개선해보니 15배의 속도 상승이 있었습니다. |
정우 | sosu.cpp | 잘했습니다. 근데 1은 소수가 아니랍니다.^^; 조금 더 최적화가 가능할 듯 하네요. 수학책 한번 찾아보세요. 제가 살짝 고쳐 보니 약 3배의 속도 상승이 있네요. | |
파스칼의 삼각형 | CherryBoy | paskal_CherRy.cpp | 이것도 역시 특별히 나무랄데는 없네요. 하지만.. 쓸데없는 주석은 줄여보도록 하세요. 그리고 pascal이랍니다.^^ |
정우 | pascal.cpp | 캡~ | |
랜덤워크 | CherryBoy | randwalk_CherRy.cpp | main안에 다 때려넣었군요. 함수 이름 잘 지어서 빼보도록 하세요. 즉, 좀더 구조적으로 만들어 보라는 겁니다. 대근이는 yesno라는 이름을 좋아하나보군요. |
마방진(홀수) | CherryBoy | MaBangJin_CherRy.cpp | 굿~ 하지만 클래스 썼다고 객체지향은 아니죠^^ 좀더 책임을 분산시켜 보세요. 또한 한 메소드의 길이가 너무 기네요. 중복도 좀 있고. OAOO(Only and only once)를 지켜보세요. |
1900년 이후의 만년달력 | . | . | . |
8퀸 문제 | . | . | . |
잡담 ¶
선희랑 정우는 숙제 안하나요?
그러게.....오늘은 마방진이랑 만년달력을 해보겠습니닷!! -- CherryBoy
그러게.....오늘은 마방진이랑 만년달력을 해보겠습니닷!! -- CherryBoy
대근이는 2학년이니까 객체지향으로 짜보세요 --인수
대근이형 넘 잘해용.. 흑. 벌써 세개빼고 다하시다닝~~ -- 정우아냐, 아냐. 2학년치곤 못하는거지 마방진은 슷하 좀 쌔리고 해야겠다.. 아, 글고 인수형 매직넘버는 없앴어요 -- CherryBoy
매직넘버 없애라는게 const 선언하라는거에여? -_-a..--정우그러니까 코드 도처에 난무하는 10, 50000 이런 숫자는 이렇게 작은 프로그램에서는 금방 알 수 있지만... 프로그램이 조금만 커져도, 저런 숫자가 많아지면 알아볼수가 없거든.. 나중에 삽질하지 말라고 미리 습관을 들여놓으라는 거야. --인수
const도 좋고 #define도 좋지만, C++이라면 역시 const --snowflower