목록Develop (134)
오븐 노트
#include using namespace std; // 객체지향 (OOP Object Oriented Programming) // - 상속성 // - 은닉성 = (캡슐화) // - 다형성 // 은닉성(Data Hiding) = 캡슐화(Encapsulation) // 몰라도 되는 것을 숨긴다 // 숨기는 이유? // - 1) 정말 위험하고 건드리면 안되는 경우 // - 2) 다른 경로로 접근하길 원하는 경우 // ex) 자동차 // - 핸들 // - 페달 // - 엔진 // - 문 // - 각종 전기선 // 일반 구매자 입장에서 사용하는 것? // - 핸들/페달/문 // 몰라도 되는 부분 (오히려 건드리면 큰일남) // - 엔진, 각종 전기선 // public(공개적) protected(보호받는) pr..
#include using namespace std; // 객체지향 (OOP Object Oriented Programming) // - 상속성 // - 은닉성 // - 다형성 // [ [ Player ] ] // [ Knight ] // 생성자(N)/소멸자(1) // Player 생성자? Knight 생성자? -> 둘다 호출 // 중요! 순서는 부모생성자 -> 자식생성자 -> 자식소멸자 -> 부모소멸자 // class는 일종의 설계도 // RPG 게임 상속 구조 // GameObject // - Creature // -- Player, Monster, NPC, Pet // - Projectile // -- Arrow, Fireball // - Env // Item // - Weapon // -- Swo..
#include using namespace std; // [생성자(Constructor)]와 [소멸자(Destructor)] // 클래스에 '소속'된 함수들을 멤버 함수라고 함 // 이 중에서 굉장히 특별한 함수 2종이 있는데, 바로 [시작]과 [끝]을 알리는 함수들 // - 시작(탄생) -> 생성자 (여러개 존재 가능) // - 끝(소멸) -> 소멸자 (오직 1개만) // [암시적(Implicit) 생성자] // 생성자를 명시적으로 만들지 않으면, // 아무 인자도 받지 않는 [기본 생성자]가 컴파일러에 의해 자동으로 만들어짐. // -> 그러나 우리가 명시적(Explicit)으로 아무 생성자 하나 만들면, // 자동으로 만들어지던 [기본 생성자]는 더 이상 만들어지지 않음. // class는 일종의..
#include using namespace std; // 데이터 + 가공 (로직, 동작) // 객체란? 플레이어, 몬스터, GameRoom 등 모든 것 // Knight를 설계해보자 // - 속성 (데이터) : hp, attack, y, x // - 기능 (동작) : Move, Attack, Die // struct와 class는 c에서는 서로 완전히 다르지만 c++에서는 거의 동일하다 (문법 또한 거의 같다) // class는 일종의 설계도 // '소속'이 중요 class Knight { public: //멤버 함수 선언 void Move(int y, int x); void Attack(); void Die() { hp = 0; cout posX = x; } void Knight::Move(int y..
CPP_study.cpp #include using namespace std; #include "Test1.h"; int main() { Test_1(); return 0; } test1.cpp #include using namespace std; #include "Test1.h"; #include "Test2.h"; // #pragma once 중복체크 발생 void Test_1() { Test_2(); } void Test_2() { cout
#include #include using namespace std; const int MAX = 100; int board[MAX][MAX] = {}; int N; void PrintBoard() { for (int y = 0; y < N; y++) { for (int x = 0; x < N; x++) { cout
코딩 테스트 출제 가능성 #include using namespace std; // 문제1) 문자열 길이를 출력하는 함수 int StrLen(const char* str) { // str라는 문자열의 길이를 반환 int count = 0; while (str[count] != '\0') count++; return count; } // 문제2) 문자열 복사 함수 char* StrCpy(char* dest, char* src) { // #1 배열 형식 int count = 0; while (src[count]) { dest[count] = src[count]; count++; } dest[count] = '\0'; return dest; // #2 포인터 형식 //char* ret = dest; //whi..
#include using namespace std; // main // - EnterLobby (PlayerInfo) // -- CreatePlayer // -- EnterGame (MonsterInfo) // --- CreateMonsters // --- EnterBattle enum PlayerType { PT_Knight = 1, PT_Archer = 2, PT_Mage = 3, }; enum MonsterType { MT_Slime = 1, MT_Orc = 2, MT_Skeleton = 3, }; struct StatInfo { int hp = 0; int attack = 0; int defence = 0; }; void EnterLobby(); void PrintMessage(const cha..