본문 바로가기

분류 전체보기

[C++] 복습일지 part 2 - 4 #멤버 이니셜라이저 # 상속 (Inheritance)# 오버로딩(Overloading)과 오버라이딩(Overriding)# 가상함수, 순수가상함수 (Virtual Function, Pure Virtual Function)# 멤버이니셜라이저 (Memeber Initializer) #멤버 이니셜라이저(Member Initializer) 여기에 한 코드가 있다. #include int main() { int num1 = 10; int num2(20); std::cout
[개발일지] '용사가 되자' part 3 part 2에 이어서 part 3입니다 part 2의 고쳐야 할 점 이었습니다. [ 고쳐야 할 점 ] - 일단 많은 것 같다 - 상속이 절실히 필요하다 - 쓸데없이 중복되는 메서드가 많은 것 같다 - 메인메뉴가 난잡한데 경험이 부족해서 그런 것 같다. 다른사람들의 소스코드를 비교 해 봐야겠다. - 멤버변수 이름이나, 함수이름을 좀 제대로 써야 할 것 같다. 작명센스도 중요 요소임에 틀림없다. 상속을 배우니깐 굉장히 편하더라구요 중복없는 코드가 되어서 깔끔해보이기도하구요. 다만 이해하고 쓰기까지가 오래걸렸습니다 ㅎ 이번엔 중복되지않는 코드를 쓰려고 노력을 많이했고, 최대한 비슷한기능을 한 메서드들을 통합해서 저는 이또한 중복코드의 제거(?) 라고 봤습니다. 그리고 함수이름도 나름 적절하게 지은것같습니다!!..
[C++] 복습일지 part 2 - 3 #가상함수, 순수가상함수 # 상속 (Inheritance) # 오버로딩(Overloading)과 오버라이딩(Overriding) # 가상함수, 순수가상함수 (Virtual Function, Pure Virtual Function) # 멤버이니셜라이저 (Memeber Initializer) # 가상함수(Virtual Function) class A { public: void Message() { std::cout 원래위치 함수를 호출하는부분에 그 함수가 위치한 주소로 연결시켜주는것을 '바인딩(Binding)' 이라고 한다. 동적바인딩과 정적바인딩의 예시코드를 들어보겠습니다. [동적바인딩코드] int main() { int num; Monster *monster = nullptr; std::cin >> num; switch(num)..
[C++] 복습일지 part 2 - 2 #오버로딩(Overloading)과 오버라이딩(Overriding) # 상속 (Inheritance) # 오버로딩(Overloading)과 오버라이딩(Overriding) # 가상함수, 순수가상함수 (Virtual Function, Pure Virtual Function) # 멤버이니셜라이저 (Memeber Initializer) 이번시간에는 오버로딩과 오버라이딩에 대해 알아보도록할게요 스타크래프트 '오버로드' 아시나요? 네 그 오버로드입니다. #오버로딩 (Overloading) 단어의 뜻을 한번 보겠습니다 감이 오시나요? 오버로딩(Overloading) - 메서드의 이름이 같고 - 인자의 자료형이 다르거나 - 인자의 개수가 다르거나 여기 메서드가있습니다. void add() { std::cout
[C++] 복습일지 part 2 - 1 #상속(Inheritance) # 상속 (Inheritance)# 오버로딩(Overloading)과 오버라이딩(Overriding)# 가상함수, 순수가상함수 (Virtual Function, Pure Virtual Function)# 멤버이니셜라이저 (Memeber Initializer) 오늘은 상속(Inheritance)에 대해서 복습을 하겠습니다. 상속이 무엇인가?'객체지향 프로그래밍' 에서 항상 강조를 하고 중요한 요소인 '상속'에 대해 알아보도록합시다. 상속은무언가를 물려 받는 행위이다.상속받는다 그렇단다.중간쯤 보면 재산상속이있다. 그렇다면 컴퓨터, 그러니깐 프로그래밍에서 상속이란 어떻게 하는것이고, 왜 사용하는것인가? 어떻게 사용하는지부터 알아보자. # 어떻게 사용? class 클래스이름 : 접근제어자 상속받으려는클래스 {..
[알고리즘] 버블정렬 (Bubble Sort) 오늘은 버블정렬에 대해서 복습을 했습니다. 복습한 김에 기록합니다. 버블정렬(Bubble Sort) 이란? 옆에있는 요소와 비교를 해가며 검사하고 정렬하는 방법입니다. 버블정렬의 특징 시간복잡도가 O(n^2) 이기때문에 상당히 느리다. 가장 간단한 알고리즘이다. 버블정렬의 알고리즘오름차순을 기준으로 하겠습니다.[3, 9, 2, 5, 6, 7] 이러한 배열이있습니다. 1. 3 > 9 ? ( X ) [3, 9, 2, 5, 6, 7] 2. 9 > 2 ? ( O ) 9 와 2의 자리를 바꾼다. [3, 2, 9, 5, 6, 7] 3. 9 > 5 ? ( O ) 9 와 5의 자리를 바꾼다. [3, 2, 5, 9, 6, 7] 4. 9 > 6 ? ( O ) 9 와 6의 자리를 바꾼다. [3, 2, 5, 6, 9, 7] ..
[개발일지] '용사가 되자' part 2 part 1 에 이은part 2 입니다정리에 조금 더 신경 썻습니다....[ 주요 업데이트 ]#1 상점구현#2 물약섭취#3 레벨업시에 능력치 변화 변경사항은 이 정도입니다.일단 소스코드가 긴 점은 이해부탁드립니다. [ Class ] - PotionHp - PotionMp - Helmet - Sword - Hero - Goblin class 는 이렇게 6가지가있습니다. 아직 상속을 배우지 않아 코드가 다소 복잡 할 수 있습니다. class PotionHP{ public: PotionHP(){} PotionHP(string tempName, string tempDescription, int tempGold, int tempCount, int tempHpAmount){ name = tempName; descr..
[알고리즘] 개미수열 학교에서 문제풀이를 하다가 '개미수열' 이 나왔습니다. 유명학 소설작가 베르나르베르베르의 '개미' 라는 소설에서 나온 수열인데요 한번 규칙을 맞춰볼까요 11 11 21 1 2 11 2 2 1 1 11 1 2 2 1 31 2 2 2 1 1 3 11 1 2 3 1 2 3 1 1 1...... 이렇게해서 무한대로 증가를 합니다규칙이 뭔지 5분동안만 생각 해보시는게 도움이 될 것 같습니다. 저도 프로그래밍을 잘 알진 못하지만 생각하는 힘을 기르게 되더라고요 (저는뉴비입니다 뉴비) 제가 개미수열을 풀지를 못해서 3일정도를 이 문제만 가지고 고민했습니다.감이 잡힐듯하면서도 잘 안풀리더라구요 그래서 솔직히 구글링하면 다나오는데 답을 볼까 했지만 자존심이 허락치 않았습니다저 혼자힘으로 해보고 싶은 욕심도 생기고요 [ ..