본문 바로가기

분류 전체보기612

수업 27일차 - 템플릿 (template) / 유틸리티 (utility) Template - 고정 형태 틀 형판 ( STL 의 Standard Template Library) (일상에서 들어본 템플릿은 PPT 엑셀 등에서 기본적으로 제공되는 폼 에서 많이 보았다.) (정해진 틀에서 내용만 바꿔서 사용할수 있는 폼들) 수업에서 자주 쓰던 셔플과 스왑처럼 중복되는 함수를 템플릿으로 만들수있다. Utility - 유용성 다용도 다목적 공통의 (헤더파일의 이름은 알아보기 쉽게 정한다) 유틸리티라는 헤더파일을 만들어서 그내부에 공통된 함수들을 템플릿으로 만들어 넣는다. template - 자료형의이름을 T로두었다. 꺽쇠 붙으면 모든자료형을 다 넣을수 있다. T 라는 이름에 불려오는 멤버변수의 자료형들은 자동으로 치환되어 불려오게된다.(편리) (ex. 우리는 vector 에서도 꺽쇠를 .. 2022. 11. 17.
C++ 이전과제 클래스구조로 변환시키기 오늘 과제로 OOP의 클래스 구조에 대하여 진도가 나갔다. 각종함수들을 클래스구조로 구성시키고 헤더파일을 만들어서 메인과 연결 시켜 프로그램을 만드는것이었다. 기존의 블랙잭 게임 + 섯다 게임 의 두가지 게임을 하나의 프로그램으로 합쳐보는 과제였다. 처음으로 사용해본 클래스 기능이었다.. 너무어렵다 일단은 수업내용에서 본느낌 비슷하게 함수들을 종류별로 쪼개서 클래스를 만들고 헤더파일 연결하고 .. 메인cpp에 전부 떄려박았다... 정확하게 이게왜? 싶었으나 어쨌든 프로그램이 만들어졌다. 게임실행시 2가지게임중 실행할 게임선택화면이나온뒤 선택한 게임이 실행된다. 다른게임으로 다시 선택하도록 해보려고하였으나 실패.. 오늘은 과제 여기서 마무리한뒤 복습이 필요할듯 하다. 클래스 기능을 잘 사용할수만있다면 훨씬.. 2022. 11. 16.
C++ 블랙잭 게임 복습 지난번 과제인 블랙잭 게임의 풀이 및 복습. 기존 과제에서는 플레이어1,딜러1 의 1:1 구조였다면 이번 과제는 플레이어의 수를 입력받고 플레이어의 이름을 입력받아 딜러1 vs 플레이어 다수 의 구조가 되는 방식이다. 오늘 과제 풀이에 딜러와 플레이어가 동점일경우에도 플레이어의 패배 및 딜러의 승리로 추가 수정하였다. 오랜만에 동적할당 해제를 끝부분에 섰는데 사용법이 맞는지는 모르겠다.. 어려웠고 몇번 복습해서 OOP 구조에대해 좀더 익숙해 져야 할것같다. #include #include #include #include #define SET 3 using namespace std; enum Shape //모양 함수 4종류 { DIA, CLOVER, HEART, SPADE }; enum Num //특정숫자.. 2022. 11. 16.
C++ OOP 조사 C++ ) OOP / Object Oriented Programming / 객체지향 / C++을 공부하면서 객체지향의 진도까지 진행이 되었다. 현재까지의 수업과정은 대부분 C스타일의 절차지향(흐름의순서대로진행)의 느낌이었다면 각종 함수들이 복합적으로 상호작용할수 있는것이 객체지향 이다. 객체지향을 OOP라고 부르며 Object Oriented Programming 의 약자이다. 오늘의 고제는 이에대한 조사이다. 오늘은 기본적으로 알아두어야할 객체지향 언어의 5가지 특성에 대하여 조사 한다. 우선 각특성들을 알아보기전 OOP의 장단점을 알아보자. 장점 - 코드의 사용과 변경이 유용하기때문에 공동작업이나 대규모 개발 작업에 유용하다. - 클래스(class)단위가 있기 때문에 상속, 확장, 모듈화를 통하여 타.. 2022. 11. 15.
블랙잭 과제 (진행중) 플레이어 인원수 입력 / 플레이어의 이름 입력. 다수의 플레이어 vs 딜러의 블랙잭 과제진행중. A카드 획득시 A카드의 점수를 1점 or 11점 선택하는곳에서 막힘. 딜러버스트시 버스트되지않은 플레이어들 전원 승리로뜨나 특정조건에서는 플레이어 제일높은점수 1명만 승자로 나온다 ... ?? 당장은 여기서마무리후 다음시간에 수정 진행하도록 해야겠다. C++ 교재 읽고 복습하러 ㄱㄱ #include #include #include #include #define SET 3 using namespace std; //카드의 구성 (숫자) enum Num { A = 1, J = 11, Q, K }; // 카드의 구성 (모양) enum Shape { DIA, CLOVER, HEART, SPADE }; //Card = .. 2022. 11. 15.
C++ 블랙잭(1:1) 코드 복습 오늘 수업 풀이를 복습해봤다. 플레이어의 이름을 설정하고 딜러와 1:1의 대결의 단순한 구조이지만 손으로 다시 직접입력해보면서많이 어려웠다... 함수의 구조 자체도 아직 이해가 따라가지 않고있는느낌이다. #include #include #include #include #define SET 3 using namespace std; enum Shape { DIA, CLOVER, HEART, SPADE }; enum Num { A = 1, J = 11, Q, K }; struct Card { int num; string shape; void Print() { switch(num) { case A: cout 2022. 11. 14.