목록Develop/C++ (80)
오븐 노트
#include using namespace std; class Item { public: public: int _itemId = 0; int _rarity = 0; int _ownerId= 0; }; class FindByOwnerId { public: bool operator()(const Item* item) { return (item->_ownerId == _ownerId); } public: int _ownerId; }; class FindByRarity { public: bool operator()(const Item* item) { return (item->_rarity >= _rarity); } public: int _rarity; }; template Item* FindItem(Item ..
#include using namespace std; // typename T(name)를 붙이면 어떤 타입도 다 넣을 수 있음 // 무조건 typename을 붙여야 하는 것은 아니다 // template 안에 들어가는건 [골라줘야 하는 목록]이라고 볼 수 있음 template class RandomBox { public: T GetRandomData() { int idx = rand() % SIZE; return _data[idx]; } public: T _data[SIZE]; }; // 템플릿 특수화 template class RandomBox { public: double GetRandomData() { cout
#include using namespace std; class Knight { public: // ... public: int _hp = 100; }; template // class로 지어도 가능하지만 class 문법과 헷갈리니 typename 사용 void Print(T a) { cout
#include using namespace std; class Knight { public: static void HelloKnight() { // 정적 함수는 Knight 객체랑은 연관성이 없고 위치만 안에 있음. // 특정 객체에 의존적인 정보들을 수정 할 수 없음. } // 멤버 함수 int GetHp(int, int) { cout
#include using namespace std; int Add(int a, int b) { return a + b; } int Sub(int a, int b) { return a - b; } class Item { public: Item() : _itemId(0), _rarity(0), _ownerId(0) { } public: int _itemId; // 아이템 구분을 위한 ID int _rarity; // 희귀도 int _ownerId; // 소지자 ID }; typedef bool(ITEM_SELECTOR)(Item*, int); Item* FindItem(Item items[], int itemCount, ITEM_SELECTOR* selector, int value) { for (int i..
Monster.cpp #include "Monster.h" void Monster::KillMe() { _hp = 0; } Monster.h #pragma once class Monster { public: void KillMe(); public: int _monsterId; // +0 int _hp; // +4 int _defence; // +8 // ... }; Player.cpp #include "Player.h" #include "Monster.h" void Player::KillMonster() { _target2->KillMe(); _target2->_hp = 0; // 위를 풀어쓰면 아래 // [ 주소 ] -> [ [monsterId] [hp] [defence] ] (*_target2)._h..
Creature ㄴ Creature.cpp #include "Creature.h" void Creature::OnAttacked(Creature* attacker) { int damage = attacker->_attack - _defence; if (damage < 0) damage = 0; _hp -= damage; if (_hp < 0) _hp = 0; } Creature ㄴ Creature.h #pragma once enum CreatureType { CT_PLAYER = 0, CT_MONSTER = 1 }; class Creature { public: Creature(int creatureType) : _creatureType(creatureType), _hp(0), _attack(0), _de..