#include <iostream> // 입출력 기능 포함
int main()
{
std::cout << "Hello World\n"; // 문자열 출력 + 줄 바꿈
return 0;
}
#include <> 기능 포함 (예: 표준 입출력 기능 추가) #include <iostream> 표준 입출력 스트림 사용을 위한 헤더 파일 std::cout << "" 화면에 문자열 출력 \n 줄 바꿈 (newline), C 스타일 개행 문자 std::endl 줄 바꿈 + 출력 버퍼 비움 (flush) 📌 \n vs std::endl
| 구문 | 기능 |
|---|---|
\n | 줄바꿈만 함 (버퍼는 안 비움) |
std::endl | 줄바꿈 + 출력 버퍼 비움 버퍼를 강제로 비워서 바로 출력되게(flash) |
| 파일 종류 | 설명 |
|---|---|
| .h | 헤더파일 – 정의만 작성 (선언부) |
| .cpp | 소스파일 – 기능 구현 (구현부) |
📄 헤더파일(.h) 시작 코드
#pragma once // 이 파일을 중복 포함하지 않게 함
class Actor
{
public:
Actor();
void Hit();
};
#pragma once 같은 헤더파일이 여러 번 include 되어도 한 번만 포함되도록 함✨ 소스파일(.cpp) 시작 코드
#include "Actor.h" // 같은 프로젝트의 헤더파일 포함
#include <iostream> // 표준 입출력 기능 포함
Actor::Actor()
{
std::cout << "Actor 생성\n";
}
#include "..." 프로젝트 내부에 있는 사용자 정의 헤더파일을 포함할 때 사용#include <...> C++에서 제공하는 표준 라이브러리를 포함할 때 사용#pragma once // 중복 포함 방지
class Actor
{
public:
Actor(); // 생성자
void Hit(); // 함수 선언
protected:
int Position;
private:
bool isHidden;
};
| 구문 | 설명 |
|---|---|
class | 클래스를 정의할 때 사용 |
public | 외부에서도 접근 가능 (공개 멤버) |
protected | 상속받은 클래스에서만 접근 가능 |
private | 클래스 내부에서만 사용 가능 (기본 접근 제한자) |
Actor() | 생성자 – 객체가 생성될 때 자동으로 호출됨 |
~Actor() | 소멸자 – 객체가 삭제될 때 자동으로 호출됨 |
void | 반환값 없이 기능만 수행하는 함수 선언 |
virtual | 상속 시 해당 함수를 재정의(override)할 수 있게 함 |
void TakeDamage(int32 Amount); // 데미지를 입히지만 값을 리턴하진 않음
| 자료형 | 설명 | 예시 |
|---|---|---|
int | 정수형 | -10, 12345 |
float | 단정도 실수형 | 3.14f, -0.001f |
double | 배정도 실수형 | 3.141592, 1e-10 |
bool | 논리형 | true, false |
char | 문자형 (1글자) | 'A', '9' |
std::string | 문자열 | "Hello", "C++" |
(*hit).Damaged(AD);
| 개념 | 표현식 | 설명 |
|---|---|---|
| 포인터가 가리키는 객체 | (*hit) | 포인터 hit가 가리키는 객체 자체 |
| 멤버 접근 (기본형) | (*hit).멤버 | 포인터가 가리키는 객체의 멤버 변수 또는 함수 접근 |
| 멤버 접근 (예시) | (*hit).Damaged(AD) | hit가 가리키는 객체의 Damaged() 함수 호출 |
| 멤버 접근 (간단형) | hit->멤버 | (*hit).멤버의 축약 문법 |
| 멤버 접근 (간단형 예시) | hit->Damaged(AD) | (*hit).Damaged(AD)와 동일한 표현, 일반적으로 더 많이 사용됨 |
if (조건1)
{
// 조건1이 참일 때 실행
}
else if (조건2)
{
// 조건1이 거짓이고, 조건2가 참일 때 실행
}
else
{
// 모든 조건이 거짓일 때 실행
}
🧩 예시
if (score > 90)
{
std::cout << "A 학점\n";
}
else if (score > 80)
{
std::cout << "B 학점\n";
}
else
{
std::cout << "C 이하\n";
}
if 조건이 **참(true)**일 때 해당 블록을 실행else if 위의 조건이 **거짓(false)**이고, 새로운 조건이 **참**일 때 실행else 위의 모든 조건이 **거짓**일 때 실행