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