무리스

반응형

[패스트캠퍼스 수강 후기] {C++실력완성} 100% 환급 챌린지 {20} 회차 미션

 

안녕하세요. 무리스입니다.

오늘은 드디어 환불챌린지 미션 20회차를 하는 날이네요.

하루도 빠짐없이 20일을 했다는 얘기인데, 시간도 빠르게 느껴지고 

실패없이 꾸준히 하게 되어서 굉장히 뿌듯하네요. 

20회차가 넘어가면서 "챕터01. 처음부터 따라해보는 C++"도 끝나게 됩니다.

앞으로도 빠지는 날없이 쭉 공부해서 환급미션도 성공적으로 끝냈으면 좋겠습니다.

 

오늘 20회차에서는 챕터01. 마지막 강의인 58강 범위, 공간 - 공간 기억 부류에 대해서 배우고

"챕터02. C++로 마스터하는 객체지향 언어와 STL"로 넘어가서

01강, 02강 학습 기록을 해보도록 하겠습니다.

 

자 그럼 58강 범위, 공간 - 공간에 대해서 알아보도록 하겠습니다.

먼저 자동 공간에 대해서 보겠습니다.

#include <iostream>

using namespace std;

int main()
{
   {
      int num;
   }
}

자동 변수는 해당 블럭을 벗어나는 순간 해제됩니다.

 

지역 변수인데 정적 변수와 자동 변수의 차이점을 보겠습니다.

#include <iostream>

using namespace std;

static int num;

int main()
{
   for (int i = 0; i < 10; ++i)
   {
      int num = 0;
      ++num;
      cout << num << endl;
   }
}

위의 경우는 num이 1이 출력됩니다.

 

#include <iostream>

using namespace std;

static int num;

int main()
{
   for (int i = 0; i < 10; ++i)
   {
      static int num = 0;
      ++num;
      cout << num << endl;
   }
}

static 으로 선언하게 되면 한번만 초기화되서 10까지 출력됩니다.

지역변수의 특성입니다.

 

다음은 챕터 02. 1강인 클랙스 - 객체지향 개괄에 대해서 배워보겠습니다.

객체지향이란 것은 어떤 절차적인 흐름을 얘기할 때 객체들간의 관계에 대해서

기술하는 것을 말합니다. 객체지향, 절차지향은 프로그래밍할 때 어떤 관점에서 

프로그래밍할 것인가의 관점의 차이에서 보시면 됩니다.

#include <iostream>
#include <string>

using namespace std;

int main()
{
   string s0 = "hello";
   string s1 = "world";
   s0.append(s1);
   cout << s0 << endl;
}

위에 코드는 객체지향 코드입니다. s0과 s1의 관계가 보이시나요.

 

#include <iostream>
#include <string>

using namespace std;

int main()
{
   char s2[100] = "hello";
   char s3[] = "world"
   
   stract(s2, s3);
   cout << s2 << endl;
}

위 식은 절차지향 코드입니다. 

다음 02강에서는 클래스 - 클랙스 객체에 대해서 알아보겠습니다.

객체지향적으로 프로그래밍 하기 위해서 C++에서는 여러가지 기능을 지원합니다.

그 중 가장 기본이 되는 것이 클래스입니다.

클래스 선언 먼저 해보겠습니다. 하나의 자료형을 만드는 것입니다. 

 

#include <iostream>

using namespace std;

class Player
{
   int health;
   int power;
};

int main()
{
   Player player0{ 200, 100};
   player0,health = 100;
   
   cout << player0.health << endl;
}

앞서 배웠던 struct 구조와 비슷하다고 생각하시면 됩니다.

 

#include <iostream>

using namespace std;

class Player
{
   int _health;
   int _power;
   string _name;
public;
   void attack(Player& target)
   {
      cout < "Attack" << _name << "->" << target._name << endl;
      target.damaged(_power);
   }
   
   void damaged(int power)
   {
      health -= power;
      if (_health < =0)
         cout <<"Died. " << _name << endl;
   }
    
};

int main()
{
   Player david{ 200, 100, "DAvid"};
   Player daniel{ 200, 100, "Daniel"};
   
   david.attack(daniel);
   cout << daniel._health << endl;
   david.attack(daniel);
}

플레이어가 플레이어를 때리는 게임 관련 식을 작성해보았습니다.

오늘도 이렇게 해서 58강 01강 02강 학습 기록이 끝났습니다.

챕터02.로 넘어가게 됐는데 주말이니 시간이 남는다면 챕터01. 전체 복습을 추천드립니다.

토요일인데도 불구하고 모두 공부하느라 고생하셨습니다.

 

내일 21회 환불챌린지 데일리 미션으로 찾아뵙도록 하겠습니다.

이상입니다. 

 

패스트캠퍼스 C++ 강의 링크를 걸어두겠습니다. 참고하세요~
올인원 패키지 : C++ 실력 완성 https://bit.ly/33beaFj

 

C++ 실력 완성 올인원 패키지 Online. | 패스트캠퍼스

선데이토즈, ICON Foundation 출신 Core 개발자가 직접 알려주는 C++의 모든 것. 애니팡 게임을 직접 만들어 보며 어려운 C++의 원리를 이해하고 실무에서 쓸 수 있는 수준까지 만들어 드립니다.

www.fastcampus.co.kr

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading