분류 전체보기
-
1. 스트림 • 순서가 있는 데이터의 연속적인 흐름 1-1. 입출력 관련 클래스 1-2. 파일 처리 • 클래스를 이용하여 처리 • fstream, ifstream, ofstream 클래스 이용 • 사용 방법 • 파일을 다룰 때는 반드시 다음과 같은 순서를 지켜야 함 • 파일 열기 → 파일 읽기 or 쓰기 → 파일 닫기 1-3. 파일 읽기 예제 1-4. 파일 쓰기 예제 1-5. 파일 포맷팅 예제 1-6. 텍스트 파일 • 텍스트 파일은 사람이 읽을 수 있는 텍스트가 들어 있는 파일 • (예) C 프로그램 소스 파일이나 메모장 파일 • 텍스트 파일은 아스키 코드를 이용하여 저장..
(New) C++언어 공부 00111. 스트림 • 순서가 있는 데이터의 연속적인 흐름 1-1. 입출력 관련 클래스 1-2. 파일 처리 • 클래스를 이용하여 처리 • fstream, ifstream, ofstream 클래스 이용 • 사용 방법 • 파일을 다룰 때는 반드시 다음과 같은 순서를 지켜야 함 • 파일 열기 → 파일 읽기 or 쓰기 → 파일 닫기 1-3. 파일 읽기 예제 1-4. 파일 쓰기 예제 1-5. 파일 포맷팅 예제 1-6. 텍스트 파일 • 텍스트 파일은 사람이 읽을 수 있는 텍스트가 들어 있는 파일 • (예) C 프로그램 소스 파일이나 메모장 파일 • 텍스트 파일은 아스키 코드를 이용하여 저장..
2024.08.30 -
1-1. 접근 제어 지정자 1-2. 상속에서의 생성자와 소멸자 • 자식 클래스의 객체가 생성될 때, 부모 클래스의 생성자 또한 호출됨 • 마찬가지로, 자식 클래스의 객체가 소멸될 때, 부모 클래스의 소멸자 또한 호출됨 1-3. 상속의 유형 • 상속 선언 시 public, private, protected의 3가지 중 하나 지정 • 기본 클래스의 멤버의 접근 속성을 어떻게 계승할지 지정 • public : 기본 클래스의 protected, public 멤버를 그대로 계승 • private : 기본 클래스의 protected, public 멤버를 private으로 계승 • protected : 기본 클래스의 protected, ..
(New) C++언어 공부 00101-1. 접근 제어 지정자 1-2. 상속에서의 생성자와 소멸자 • 자식 클래스의 객체가 생성될 때, 부모 클래스의 생성자 또한 호출됨 • 마찬가지로, 자식 클래스의 객체가 소멸될 때, 부모 클래스의 소멸자 또한 호출됨 1-3. 상속의 유형 • 상속 선언 시 public, private, protected의 3가지 중 하나 지정 • 기본 클래스의 멤버의 접근 속성을 어떻게 계승할지 지정 • public : 기본 클래스의 protected, public 멤버를 그대로 계승 • private : 기본 클래스의 protected, public 멤버를 private으로 계승 • protected : 기본 클래스의 protected, ..
2024.08.30 -
1. 프렌드 함수 • 클래스의 멤버 함수가 아닌 외부 함수 • 전역 함수 • 다른 클래스의 멤버 함수 • friend 키워드로 클래스 내에 선언된 함수 • 클래스의 모든 멤버를 접근할 수 있는 권한 부여 • 함수의 정의는 외부에서 수행 • 프렌드 선언의 필요성 : cout • 클래스의 멤버로 선언하기에는 무리가 있고, 클래스의 모든 멤버를 자유롭게 접근할 수 있는 일부 외부 함수 작성 시 1-1. 프렌드 함수 예 2. 연산자 중복 • 함수를 만들어 사용하는 것 보다, 연산자를 사용하여 표현하는 것이 이해하기 쉬움 • 연산자들을 클래스 객체(= 내가 정의한 자료형)에 대해서도 적용하는 것 • 컴파일..
(New) C++언어 공부 00091. 프렌드 함수 • 클래스의 멤버 함수가 아닌 외부 함수 • 전역 함수 • 다른 클래스의 멤버 함수 • friend 키워드로 클래스 내에 선언된 함수 • 클래스의 모든 멤버를 접근할 수 있는 권한 부여 • 함수의 정의는 외부에서 수행 • 프렌드 선언의 필요성 : cout • 클래스의 멤버로 선언하기에는 무리가 있고, 클래스의 모든 멤버를 자유롭게 접근할 수 있는 일부 외부 함수 작성 시 1-1. 프렌드 함수 예 2. 연산자 중복 • 함수를 만들어 사용하는 것 보다, 연산자를 사용하여 표현하는 것이 이해하기 쉬움 • 연산자들을 클래스 객체(= 내가 정의한 자료형)에 대해서도 적용하는 것 • 컴파일..
2024.08.29 -
1. 객체의 복사 1-2. 얕은 복사와 깊은 복사 • 얕은 복사(shallow copy) • 객체의 멤버 변수에 동적 메모리가 할당된 경우 • 사본은 원본 객체가 할당 받은 메모리를 공유하는 문제 발생 • 객체를 소멸시킬 때, 잘못된 메모리 접근 발생 가능 • 깊은 복사(deep copy) • 객체의 멤버 변수에 동적 메모리가 할당된 경우 • 사본은 원본이 가진 메모리 크기 만큼 별도로 동적 할당 • 원본의 동적 메모리에 있는 내용을 사본에 복사 • 완전한 형태의 복사 • 사본과 원본은 메모리를 공유하는 문제 없음 • 직접 생성자를 ..
(New) C++언어 공부 00081. 객체의 복사 1-2. 얕은 복사와 깊은 복사 • 얕은 복사(shallow copy) • 객체의 멤버 변수에 동적 메모리가 할당된 경우 • 사본은 원본 객체가 할당 받은 메모리를 공유하는 문제 발생 • 객체를 소멸시킬 때, 잘못된 메모리 접근 발생 가능 • 깊은 복사(deep copy) • 객체의 멤버 변수에 동적 메모리가 할당된 경우 • 사본은 원본이 가진 메모리 크기 만큼 별도로 동적 할당 • 원본의 동적 메모리에 있는 내용을 사본에 복사 • 완전한 형태의 복사 • 사본과 원본은 메모리를 공유하는 문제 없음 • 직접 생성자를 ..
2024.08.29 -
1. 함수 호출 시, 인수 전달 방법 • call by value • 인수의 값 만이 함수로 복사 • call by reference • 포인터나 별명을 이용하여 흉내 가능 • 인수의 주소가 함수로 복사 2. 함수 포인터 • 함수를 가리키는 포인터 • 함수도 메모리에 존재하므로, 주소가 있음 • 반환형 (*함수 포인터 이름)([매개변수1, 매개변수2, …]) 3. Vector • 동적 배열처럼 동작 • 코드가 실행될 때 배열 크기가 결정되고, 메모리에 할당되는 배열 • 자료형 *배열이름 = new 자료형[배열의 크기]; 을 이용하여 사용 • delete [] 배열이름; ..
(New) C++언어 공부 00071. 함수 호출 시, 인수 전달 방법 • call by value • 인수의 값 만이 함수로 복사 • call by reference • 포인터나 별명을 이용하여 흉내 가능 • 인수의 주소가 함수로 복사 2. 함수 포인터 • 함수를 가리키는 포인터 • 함수도 메모리에 존재하므로, 주소가 있음 • 반환형 (*함수 포인터 이름)([매개변수1, 매개변수2, …]) 3. Vector • 동적 배열처럼 동작 • 코드가 실행될 때 배열 크기가 결정되고, 메모리에 할당되는 배열 • 자료형 *배열이름 = new 자료형[배열의 크기]; 을 이용하여 사용 • delete [] 배열이름; ..
2024.08.29 -
1. 접근자와 설정자 • 접근자(accessor): 멤버 변수의 값을 반환 • 접근자만을 제공하면 읽기만 가능한 멤버 변수 생성 가능 • 예) getBalance(); • 설정자(mutator): 멤버 변수의 값을 설정 • 매개 변수를 통하여 잘못된 값이 넘어오는 경우, 사전에 차단 가능 • 예) setBalance(val); 2. Template의 개념 • 일반적인 코드를 작성하고 이 코드를 정수나 문자열과 같은 다양한 타입의 객체에 대하여 재사용하기 위해 사용 • 함수 템플릿, 클래스 템플릿 등이 있음 3. STL의 개념 • 표준 템플릿 라이브러리(Standard Template Library)의 약자로서,..
(New) C++언어 공부 00061. 접근자와 설정자 • 접근자(accessor): 멤버 변수의 값을 반환 • 접근자만을 제공하면 읽기만 가능한 멤버 변수 생성 가능 • 예) getBalance(); • 설정자(mutator): 멤버 변수의 값을 설정 • 매개 변수를 통하여 잘못된 값이 넘어오는 경우, 사전에 차단 가능 • 예) setBalance(val); 2. Template의 개념 • 일반적인 코드를 작성하고 이 코드를 정수나 문자열과 같은 다양한 타입의 객체에 대하여 재사용하기 위해 사용 • 함수 템플릿, 클래스 템플릿 등이 있음 3. STL의 개념 • 표준 템플릿 라이브러리(Standard Template Library)의 약자로서,..
2024.08.29 -
1. 클래스 • 기본 자료형으로 인식해 주지 않는 C언어의 구조체에 대한 불만으로 등장 • 구조체 변수를 선언할 때 struct Car a; 와 같이 사용 • 클래스 = 구조체 + 함수 • 추상화된 데이터로 사용자 정의 자료형을 정의하는 것 1-1. 생성자 • 객체가 생성될 때, 초기값을 제공하고 필요한 초기화 절차를 실행하는 클래스와 이름이 동일한 return값이 없는 멤버 함수 • 함수이므로 중복 정의가 가능하고, 매개변수를 가질 수 있으며, 생성자에서 다른 생성자 호출하는 것 또한 가능 • 반드시 public한 접근이 가능해야 함 • 사용자가 정의하지 않으면, 컴파일러가 내용이 없는 디폴트 생성자를 자동으로 추가 1-2. 소멸자 • 객체..
(New) C++언어 공부 00051. 클래스 • 기본 자료형으로 인식해 주지 않는 C언어의 구조체에 대한 불만으로 등장 • 구조체 변수를 선언할 때 struct Car a; 와 같이 사용 • 클래스 = 구조체 + 함수 • 추상화된 데이터로 사용자 정의 자료형을 정의하는 것 1-1. 생성자 • 객체가 생성될 때, 초기값을 제공하고 필요한 초기화 절차를 실행하는 클래스와 이름이 동일한 return값이 없는 멤버 함수 • 함수이므로 중복 정의가 가능하고, 매개변수를 가질 수 있으며, 생성자에서 다른 생성자 호출하는 것 또한 가능 • 반드시 public한 접근이 가능해야 함 • 사용자가 정의하지 않으면, 컴파일러가 내용이 없는 디폴트 생성자를 자동으로 추가 1-2. 소멸자 • 객체..
2024.08.29 -
1. 문자열 • C++ 에서는 문자열을 두가지 방법으로 표현 가능 • char형 배열을 이용하여 문자열을 저장하고 문자열의 끝에 NULL문자를 추가하는 방법(C의 문자열 사용 방식) • 문자열을 다루기 위한 STL(Standard Template Library)인 string 제공(#include 을 이용하여 사용) 1-1. 라이브러리 함수 (cstring) 1-2. 라이브러리 함수 (STL string) 2. OOP의 특성 • 추상화 : 불필요한 부분을 생략하고 개략화 하는 것 • 캡슐화 : 데이터와 데이터를 처리하는 함수를 하나로 묶는 것 • 은닉화 : 다른 객체에게 연산만을 통하여 접근을 허용하는 것 • 상속성 : 상위 클래스의 모든..
(New) C++언어 공부 00041. 문자열 • C++ 에서는 문자열을 두가지 방법으로 표현 가능 • char형 배열을 이용하여 문자열을 저장하고 문자열의 끝에 NULL문자를 추가하는 방법(C의 문자열 사용 방식) • 문자열을 다루기 위한 STL(Standard Template Library)인 string 제공(#include 을 이용하여 사용) 1-1. 라이브러리 함수 (cstring) 1-2. 라이브러리 함수 (STL string) 2. OOP의 특성 • 추상화 : 불필요한 부분을 생략하고 개략화 하는 것 • 캡슐화 : 데이터와 데이터를 처리하는 함수를 하나로 묶는 것 • 은닉화 : 다른 객체에게 연산만을 통하여 접근을 허용하는 것 • 상속성 : 상위 클래스의 모든..
2024.08.29 -
1. 반복문 • 미리 정의된 작업을 원하는 만큼(지정된 횟수, 조건을 만족할 때 까지 등) 실행하기 위해 사용하는 구문 • 말 그대로 반복을 위해 사용 1-1. do-while 문 • 우선 반복 실행할 구문을 1번 실행 시킨 뒤, 주어진 조건이 false가 되기 전 까지 반복을 실행 • 구조do{ 반복 실행할 구문 (조건의 결과를 변화시킬 수 있는 구문이 필요)} while(조건); 1-2. for 문 • 반복문의 제어변수와 반복문의 제어변수를 조절하는 구문을 한 줄에 처리하는 반복문 • 구조 1-3. nested loop • 중첩 반복문의 수행 순서 2. 배열 • 동일한 자료형의 연속적인 항목들이 같은 크기로 메모리에 저장되는 구조 •..
(New) C++언어 공부 00031. 반복문 • 미리 정의된 작업을 원하는 만큼(지정된 횟수, 조건을 만족할 때 까지 등) 실행하기 위해 사용하는 구문 • 말 그대로 반복을 위해 사용 1-1. do-while 문 • 우선 반복 실행할 구문을 1번 실행 시킨 뒤, 주어진 조건이 false가 되기 전 까지 반복을 실행 • 구조do{ 반복 실행할 구문 (조건의 결과를 변화시킬 수 있는 구문이 필요)} while(조건); 1-2. for 문 • 반복문의 제어변수와 반복문의 제어변수를 조절하는 구문을 한 줄에 처리하는 반복문 • 구조 1-3. nested loop • 중첩 반복문의 수행 순서 2. 배열 • 동일한 자료형의 연속적인 항목들이 같은 크기로 메모리에 저장되는 구조 •..
2024.08.29 -
1. 조건문 • 조건식을 판별하여 참일 경우 혹은 거짓일 경우의 프로그램 동작을 제어하기 위해 사용되는 문장 • 우리가 사용하는 변수나 계산 결과를 특정 조건으로 판별하고자 할 때 사용 1-1. 조건문의 종류 • if • if-else • if-else if-else • switch-case • nested condition 1-2. 한 눈에 보는 조건문의 구조if(condition1){ statement1;} else if(condition2) { if(condition3) { statement3; }} else{ statementN;} 1-3. switch문 review • 여러가지 경우 중에서 하나를 선택하는데..
(New) C++언어 공부 00021. 조건문 • 조건식을 판별하여 참일 경우 혹은 거짓일 경우의 프로그램 동작을 제어하기 위해 사용되는 문장 • 우리가 사용하는 변수나 계산 결과를 특정 조건으로 판별하고자 할 때 사용 1-1. 조건문의 종류 • if • if-else • if-else if-else • switch-case • nested condition 1-2. 한 눈에 보는 조건문의 구조if(condition1){ statement1;} else if(condition2) { if(condition3) { statement3; }} else{ statementN;} 1-3. switch문 review • 여러가지 경우 중에서 하나를 선택하는데..
2024.08.29 -
1. 자료형 • 정수형 : short, int, long • 부동소수점형 : float, double • 문자형 : char, string • 논리형 : bool • 자료형을 자동인식하는 auto, 자료형에 부호를 제거하는 unsigned 키워드 존재 2. 기본 입출력 • 키보드를 이용하여 입력을 받고, console창에 출력 • 입력은 std::cin 을 이용std::cin >> 변수이름; • string 타입 변수의 입력 방법cin >> 변수이름 // 공백 미포함getline(cin, 변수이름) // 공백 포함 • 출력은 std::cout 을 이용std::cout 3. 연산자
(New) C++언어 공부 00011. 자료형 • 정수형 : short, int, long • 부동소수점형 : float, double • 문자형 : char, string • 논리형 : bool • 자료형을 자동인식하는 auto, 자료형에 부호를 제거하는 unsigned 키워드 존재 2. 기본 입출력 • 키보드를 이용하여 입력을 받고, console창에 출력 • 입력은 std::cin 을 이용std::cin >> 변수이름; • string 타입 변수의 입력 방법cin >> 변수이름 // 공백 미포함getline(cin, 변수이름) // 공백 포함 • 출력은 std::cout 을 이용std::cout 3. 연산자
2024.08.29 -
0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTS 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgrade 2. x86 아키텍처 추가터미널에 아래의 명령어를 입력sudo dpkg --add-architecture i386 3. 의존성 패키지 설치터미널에 아래의 명령어를 입력sudo apt-get install gcc-multilib g++-multilibsudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386sudo apt-get install flexsudo apt-get install bison 4. Wine..
Wine 수동 빌드 설치0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTS 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgrade 2. x86 아키텍처 추가터미널에 아래의 명령어를 입력sudo dpkg --add-architecture i386 3. 의존성 패키지 설치터미널에 아래의 명령어를 입력sudo apt-get install gcc-multilib g++-multilibsudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386sudo apt-get install flexsudo apt-get install bison 4. Wine..
2024.08.16