1. Day11

  • C++ 문법 학습
  • git활용/코드리뷰 라이브 세션
  • 학습 가이드

2. C++ 문법 학습(Day11)

게임 개발자를 위한 C++ 문법(2-1)

  • 깊은복사 얕은 복사
  • 언리얼 엔진의 메모리 관리
  • 언리얼 엔진의 리플렉션 시스템

3. git활용/코드리뷰 라이브세션


4. CH2 학습 가이드 - 12/11

  • 미니 실습
  // Copyright 2025 yoon

#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;  // NOLINT

class Car {
// 변수는 private로 관리
 private:
string CarName;  // NOLINT
int Speed = 0;

// 외부에서 접근이 가능한 퍼블릭에서 나머지 관리
 public:
// 생성자에서 자동차 모델명 입력
Car() {
cout << "자동차 모델명을 입력하세요 : ";
cin >> CarName;
}
void Accelerate() {
Speed++;
}

// 속도는 음수가 아니도록 제한
void Brake() {
if (Speed > 0) {
Speed--;
} else {
cout << "이미 속도가 0입니다." << '\n';
}
}

void Display() {
cout << "자동차 이름 : " << CarName << '\n';
cout << "자동차 속도 : " << Speed << '\n';
}
};

int main() {
Car C;

Sleep(500);
system("cls");
while (true) {
int num;

C.Display();
cout << "[--- 메시지 표시하는 라인 ---] " << '\n';
cout << "1) 가속\n" << "2) 브레이크\n" << "3) 종료" << '\n';
cout << "콘솔: ";

cin >> num;

if (num == 1) {
C.Accelerate();
} else if (num == 2) {
C.Brake();
} else if (num == 3) {
system("cls");
cout << "종료합니다." << '\n';
Sleep(500);
break;
} else {
cout << "다시 입력해 주세요." << '\n';
}
system("cls");
}
return 0;
}
  • 도전 실습
  // Copyright 2025 yoon

#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;  // NOLINT

class Thermo {
 private:
float Temp = 0;
bool Mod = true;

 public:
// 온도 게터에서 Mod에 따라 true면 화씨 false면 섭씨 반환
float GetTemp() const {
if (Mod) {
return (Temp * 9.0f / 5.0f) + 32.0f;
} else {
return Temp;
}
}

// 온도 세터에서 -100도 +100도 사이의 값이 아니면 다시 입력하도록 설정
void SetTemp(float value) {
if (value >= -100 && value <= 100) {
Temp = value;
} else {
cout << "다시 입력해 주세요." << '\n';
Sleep(1000);
}
}

// 모드 세터에서 들어온 값이 1이면 Mod = true 화씨모드
// 모드 세터에 들어온 값이 2면 false로 섭씨모드 그 이외는 입력 불가
void SetMod(int value) {
if (value == 1) {
Mod = true;
} else if (value == 2) {
Mod = false;
} else {
cout << "허용되지 않은 입력입니다." << '\n';
Sleep(1000);
}
}

// Mod의 값에 따라 GetTemp()의 반환값을 이용해 섭씨모드 화씨모드 전환
void Display() {
if (Mod) {
cout << "현재 온도 : " << GetTemp() << "°F" << '\n';
} else {
cout << "현재 온도 : " << GetTemp() << "°C" << '\n';
}
}
};

int main() {
Thermo T;

Sleep(500);
system("cls");
while (true) {
// 처음 UI에서 메뉴선택용 Int num
int num;
// 온도 입력을 위한 float 변수
float Input;

cout << "[--- 메시지 표시하는 라인 ---] " << '\n';
cout << "1) 온도 설정\n" << "2) 표시 모드 전환\n" << "3) 온도 표시" << '\n';
cout << "콘솔: ";

cin >> num;

if (num == 1) {
cout << "온도 설정(섭씨 -100 ~ 100) : ";
cin >> Input;
T.SetTemp(Input);
} else if (num == 2) {
cout << "화씨 모드 : 1\n" << "섭씨 모드 : 2" << '\n';
cin >> num;
T.SetMod(num);
} else if (num == 3) {
T.Display();
Sleep(1000);
} else {
cout << "다시 입력해 주세요." << '\n';
}
system("cls");
}
return 0;
}

5. 내일 계획 : 알고리즘 문제 풀이추가

+ Recent posts