함수 오버로딩




 //# 전처리 (Pre-Procsss), include는 내용을 복사 붙여넣기하는 원리


#include <iostream>

#include <string>


//진입점 -> Entry Point

//프로그램(컴퓨터)가 이 소스코드를 해석하기 시작하는 위치

//출력프로그램

//프로그램 작성 => 데이터(변수) + 함수 




//함수

void Print(const char* Test)

{

std::cout << Test << std::endl;

}


//함수 오버로딩 (함수 이름을 다르게 하지 않고 같은 이름으로 타입만 다르게 변수로 받을 수 있다. 이것을 함수 오버로딩이라고 한다. 컴파일러가 알아서 처리를 해준다

void Print(int Test1)

{

std::cout << Test1 << std::endl;

}


void Print(double Test2)

{

std::cout << Test2 << std::endl;

}


int main()

{

//저장 -> 메모리(램)에 저장

//자료형 -> 저장할 자료의 유형 (타입, Type, cf> 형 변환)


int Ten = 10;

//1. int Ten; : 선언

//2. Ten = 10; : 대입


//정수형 자료형

// int integer


float var_F = 3.14f;

double var_D = 3.14;

char a = 97;

bool isTrue = false; // 0은 false 나머지 숫자는 모두 True


//배열 (같은 타입의 자료르 여러 개 저장할 때

int Array[5];

//Array[0] = 10;

//Array[1] = 20;

//Array[2] = 30;

//Array[3] = 40;

//Array[4] = 50;


//std 문자열

std::string testString = "hello" + std::string(" world");

std::wstring wTestString = L"whello";


std::cout << testString<<"\n";

std::wcout << wTestString<<"\n";

//std::cout << testString.find('h') << "\n";;

std::cout << "\n";


//문자열

const char* string = "Hello";

std::cout << string << "\n";

std::cout << Array << "\n";


const wchar_t* wstring = L"Helloo";

std::cout << "Hello World\n"; // => 같은 코드 std::cout << "Hello World" << std::endl;

system("echo.");


//루프

for (int i = 0; i < 6; i++)

{

std::cout << string[i] << std::endl;

}


//형 변환

std::cout << "\n<형 변환 예제>\n";

double dNumber = 10.5;

//int number = (int)dNumber;

int number = static_cast<int>(dNumber);


std::cout << number <<","<< dNumber;

std::cout << "\n<형 변환 예제>\n";

std::cout << "\n<함수 예제>\n";

Print("Hello World Function");

Print(dNumber);

Print(number);

Print(30);

std::cout << "\n<함수 예제>\n";



std::cout << "\n<조건문 예제>\n";

int testNum = 5;

bool condition = testNum == 5;

std::cout << condition<<"\n";

if (condition)

{

Print("같다\n");

}


else

{

Print("다르다\n");

}


std::cout << "\n<조건문 예제>\n" << "\n";


//스위치 컨디션

std::cout << "\n<스위치문 예제----->\n" << "\n";


enum class PlayerState

{

Idle, Walk, Run, Attack, Dead

};


PlayerState state = PlayerState::Idle;


switch (state)

{

case PlayerState::Idle:

Print("Idle");



case PlayerState::Walk:

Print("Walk");

}

std::cout << "\n<-----스위치문 예제>\n" << "\n";



std::cout << "\n<3항 연산자 예제----->\n" << "\n";


int testNumber = 0;

int conditionNumber =  testNumber == 5 ? 50 : 100;

if (testNumber == 5)

{


}


std::cout << "\n<----3항 연산자 예제>\n" << "\n";




std::cout << "short is\t" << sizeof(short) << "byte large\n";

std::cout << "int is\t\t" << sizeof(int) << "byte large\n";

std::cout << "long is\t\t" << sizeof(long) << "byte large\n";

std::cout << "long long is\t" << sizeof(long long) << "byte large\n";

std::cout << "char is\t\t" << sizeof(char) << "byte large\n";

std::cout << "wchar long is\t" << sizeof(wchar_t) << "byte large\n";

system("echo."); system("pause");

}





0 comments:

댓글 쓰기