728x90

Application 172

[MFC] 중복 실행 방지 (HANDLE, Event)

MFC에서 프로그램 중복 실행을 방지하기 위한 간단한 코드를 알려 드리겠습니다 Header File class MyClass{public: MyClass(); ~MyClass(); private: HANDLE m_hEvent; BOOL IsTaskCheck();};  우선 헤더 파일에 HANDLE 변수를 선언해 줍니다 Cpp MyClass::MyClass(){ m_hEvent = NULL;}MyClass::~MyClass(){ if(m_hEvent != NULL) { CloseHandle(m_hEvent); m_hEvent = NULL; }}MyClass::IsTaskCheck(){ m_hEvent = OpenEven..

Application/MFC 2024.04.09

[기초] C++ 접근 지정자 (private , protected, public)

C++은 객체지향 프로그래밍 언어로, 클래스와 객체를 사용하여 프로그램을 작성합니다.이때 클래스 멤버 변수와 함수에 접근을 제어하기 위해 접근 지정자(access specifier)를 사용합니다.C++에서는 세 가지 주요 접근 지정자가 있습니다.'public', 'private', 'protected' 각각의 접근 지정자는 해당 멤버의 접근 범위를 결정합니다.  public 'public' 접근 지정자로 선언된 멤버는 어디서든지 접근할 수 있습니다.이는 해당 멤버가 클래스 외부에서도 접근 가능하다는 것을 의미합니다.일반적으로 클래스의 인터페이스를 정의할 때 'public' 접근 지정자를 사용합니다. private 'private' 접근 지정자로 선언된 멤버는 클래스 내부에..

Application/기초 2024.04.08

[기초] C++ 상속과 다형성

C++에서 상속과 다형성은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 코드의 재사용성과 유연성을 높이는 데 중요한 역할을 합니다. 이 글에서는 C++에서 상속과 다형성의 개념과 이를 구현하는 방법에 대해 알아보겠습니다 상속 (Inheritance) 상속은 객체 지향 프로그래밍에서 부모 클래스(기본 클래스)의 속성과 동작을 자식 클래스(파생 클래스)가 물려받는 개념입니다. 이를 통해 코드의 중복을 줄이고, 클래스 간의 계층 구조를 만들어 확장성을 높일 수 있습니다. class Animal { public: void sound() { cout

Application/기초 2024.04.04

[기초] C++ 객체 지향 프로그래밍 (OOP)

C++은 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)의 주요 언어 중 하나로, 개체(객체)들 간의 상호작용을 중심으로 프로그래밍하는 방식입니다. C++에서 OOP의 기본 개념과 이점에 대해 살펴보겠습니다. 객체 지향 프로그래밍이란? 객체 지향 프로그래밍은 현실 세계의 사물을 모델링하여 프로그램을 구성하는 개발 방법론입니다. 이는 코드의 구조를 이해하고 관리하기 쉽도록 돕습니다. 객체 지향 프로그래밍은 객체라는 개념을 중심으로 프로그램을 설계하며, 이 객체들 간의 상호작용을 통해 프로그램을 완성합니다. 기본 개념 클래스(Class) 클래스는 데이터와 함수를 하나로 묶은 사용자 정의 데이터 형식으로, 객체를 생성하기 위한 설계도입니다. 객체(Object) 클래스의 인스..

Application/기초 2024.04.02

[기초] C++ 파일 입출력 : 기초와 예제

파일 입출력은 프로그래밍에서 중요한 부분 중 하나입니다. C++에서도 파일 입출력은 매우 유용하게 사용됩니다. 이번 포스팅에서는 C++에서의 기초적인 파일 입출력에 대해 알아보겠습니다. 파일 쓰기 (Write File) 먼저 파일에 데이터를 쓰는 방법을 살펴보겠습니다. 아래 예제는 텍스트 파일에 간단한 메시지를 쓰는 방법을 보여줍니다. #include #include // 파일 입출력을 위한 헤더 파일 int main() { // 파일 스트림 생성 std::ofstream outfile("example.txt"); // 파일에 데이터 쓰기 if (outfile.is_open()) { outfile

Application/기초 2024.04.01

[기초] C++ 포인터

C++에서 포인터는 메모리 주소를 저장하는 변수입니다. 이것은 다른 변수 또는 객체를 가리키는데 사용됩니다. 포인터는 C++에서 매우 강력한 기능을 제공하며, 메모리를 효율적으로 활용하고 동적 메모리 할당을 할 수 있도록 해줍니다. 포인터의 선언 및 초기화 포인터를 선언하려면 해당 변수의 데이터 형식 뒤에 '*' 기호를 사용합니다. 예를 들어, 정수를 가리키는 포인터는 다음과 같이 선언될 수 있습니다. int* ptr; 포인터를 초기화하려면 다른 변수의 주소를 할당하거나, 동적으로 메모리를 할당하여 초기화할 수 있습니다. int x = 5; int* ptr = &x; // x의 주소를 포인터에 할당 // 또는 동적 메모리 할당을 통해 int* ptr = new int; 포인터의 사용 포인터를 사용하여 변..

Application/기초 2024.03.26

[기초] C++ 배열(Array)

배열은 동일한 데이터 유형의 요소들을 연속적으로 저장하는 정적인 데이터 구조입니다. 각 요소는 배열 내에서 고유한 위치를 가지며, 인덱스를 사용하여 접근할 수 있습니다. 배열은 메모리 상에서 연속적으로 할당되므로 요소에 대한 빠른 액세스와 효율적인 메모리 사용을 제공합니다. 배열의 선언 및 초기화 int numbers[5]; // 크기가 5인 정수형 배열 선언 위의 예제에서 numbers는 크기가 5인 정수형 배열입니다. 배열을 선언할 때는 배열의 크기를 명시해야 합니다. 배열을 선언한 후에는 각 요소를 초기화 및 수정할 수 있습니다. int numbers[5] = {1, 2, 3, 4, 5}; // 배열을 정의하고 초기화 배열 요소에 접근 배열의 요소에 접근하기 위해서는 인덱스를 사용합니다. C++의 ..

Application/기초 2024.03.22

[기초] C++ 변수(Variables)와 상수(Constants)

변수 (Variables) 정의 변수는 값을 저장하는 메모리 위치를 가리키는 식별자입니다. 선언 변수를 사용하기 전에 해당 변수의 타입과 이름을 지정하여 선언해야 합니다. 초기화 변수를 선언과 동시에 값을 할당할 수 있습니다. 초기화되지 않은 변수를 사용하면 예상치 못한 결과가 발생할 수 있습니다. 변경 가능 변수에는 여러 번 다른 값을 할당할 수 있습니다. 예시 int age = 25; float pi = 3.14f; char grade = 'A'; 상수 (Constants) 정의 상수는 프로그램에서 변경되지 않는 값을 나타냅니다. 선언 'const' 키워드를 사용하여 상수를 선언합니다. 초기화 선언과 동시에 값을 할당해야 합니다. 이후에는 값을 변경할 수 없습니다. 변경 불가능 한 번 값을 할당하면 ..

Application/기초 2024.03.21

[기초] C++ 재귀함수 (Recursive Function) : 팩토리얼

프로그래밍 세계에서 재귀 함수는 마치 마법과 같은 도구입니다. 처음 접하는 사람들에게는 이해하기 어렵고 신비로운 면이 있지만, 한 번 이해하고 나면 매우 강력한 도구로 활용할 수 있습니다. 이 글에서는 재귀 함수의 개념, 동작 방식, 그리고 활용 사례에 대해 알아보겠습니다. 재귀 함수란? 재귀 함수는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 일반적으로 재귀 함수는 두 가지 요소로 구성됩니다: 기본 사례(base case)와 재귀 사례(recursive case). 기본 사례는 재귀 호출을 멈추게 하는 조건을 나타내며, 재귀 사례는 함수가 자기 자신을 호출하는 부분입니다. 재귀 함수의 동작 방식은? 재귀 함수가 호출되면, 컴퓨터는 현재의 함수 호출을 중단하고 새로운 함수 호출을 시작합니다. 이 ..

Application/기초 2024.03.20
728x90
반응형