c++

Develop/C, C++

[C/C++] 복사생성자와 정적 멤버

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 함수로 객체 전달하기(feat. 복사 생성자) 함수가 객체를 반환하기 객체끼리의 복사 방법 객체와 연산자 '=' 객체 사이의 비교 연산자 사용 가능할까? 클래스에서의 정적 변수 클래스에서의 정적 멤버 함수 1. 함수로 객체 전달하기(feat. 복사 생성자) C++에서 함수로 인수를 전달하는 방법은 2가지가 있다. 값에 의한 호출(call by value) 참조에 의한 호출(call by reference) 함수로 객체를 전달하면 일반적인 생성자가 호출되는 것이 아닌 복사 생성자(copy constructor) 라는 특수한 생성자가 호출된다. 복사 생성자는 따로 만들지 않아도 컴파일러가 기본적인 버전은 만들어서 사용한다. 아래 예제를 보자. 예제1 : 값에..

Develop/C, C++

[C++] 객체 배열과 벡터

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 객체 배열 객체 배열의 초기화 객체 배열 예제 벡터 벡터의 선언 벡터 대표 예제 push_back()과 pop_back() 벡터에서 요소의 위치 : v.begin() / v.end() / v.front() / v.back() 벡터의 중간 부분을 삭제하기 : erase() 벡터와 연산자 벡터 예제 array 클래스 1. 객체 배열 정수 배열을 생성할 수 있는 것처럼 객체들의 배열도 생성 가능하다! 객체 배열의 요소가 객체가 된다. 즉, 객체들이 모여 있는 컨테이너가 '객체 배열'이 되는 셈이다! 아래 예제를 통해서 원을 나타내는 객체를 여러개 생성하여서 화면에 그려보는 프로그램을 작성해보자. #include using namespace std; class ..

Develop/C, C++

[C/C++] 상속(Inheritance)

1. 상속의 개요 상속(inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것을 말한다. 이미 존재하는 클래스를 부모 클래스(parent class = super class = base class), 상속받는 클래스를 자식 클래스(child class = sub class = derived class) 라고 한다. // 예시) class ChildClass : 접근 지정자 ParentClass { ...// 추가된 멤버 변수와 멤버 함수 } // ==================================== class Car { int speed; }; class SportsCar : public Car { bool turbo; } 자식 클래스는 부모 클래스가 가지고 있는 모든 멤..

Develop/C, C++

[C/C++] 동적할당(Dynamic Memory Allocation)

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 메모리 구성과 영역별로 저장되는 데이터의 유형 동적 할당 메모리 동적 메모리 사용 절차 C언어 : 동적 메모리 할당 연산자 malloc, free C언어 : calloc 함수 C++ : 동적 메모리 할당 - new, delete C++ : 스마트 포인터 객체의 동적 생성 1. 메모리 구성과 영역별로 저장되는 데이터의 유형 우리 컴퓨터에 있는 메모리에는 다음과 같이 구성되어 있다. 코드 영역 : 실행할 프로그램의 코드가 저장되는 메모리 공간. 힙 영역 : 동적 메모리 할당하는 장소.(이번 동적 할당 파트에서 중요한 부분이다) 스택 영역 : 함수 수행시에 메모리 할당이 일어나고 함수를 빠져 나가면 소멸되는 영역 데이터 영역 : 전역변수와 static 변수가 ..

Develop/C, C++

[C/C++] 문자열(String)

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 문자열 NULL 문자 문자 배열의 초기화 방법 종류 문자열 예제 문자 입출력 라이브러리 문자 처리 라이브러리 함수 & 예제 string 클래스 1. 문자열 문자열(string) : 문자들이 여러 개 모인 것 "A" "Hello World!" "변수 score의 값은 %d입니다." 문자열 상수 "Hello World" "Hong" "string!#$" "guest123" 문자열 변수 char형 배열 2. NULL 문자 NULL 문자는 문자열의 끝을 나타낸다. "SEOUL" => S / E / O / U / L \n 문자열은 어디서 종료되는지 알 수가 없으므로 표시를 해주어야 한다. 3. 문자 배열의 초기화 방법 종류 문자 배열 원소들을 중괄호 안에 넣어주는..

Develop/C, C++

[C, C++] 포인터(Pointer)

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 포인터 포인터 변수의 선언과 사용 예 포인터 증감 연산 포인터는 어디에서 사용되는가? 포인터 사용시 주의점 : nullptr 포인터와 배열 심화 : 포인터 구조 확인 1. 포인터 포인터 변수는 메모리의 주소를 저장하는 변수를 의미한다. Pointer 변수 선언 data_type *variable_name; 또는 data_type* variable_name; 최근에 푸른 색을 더 선호하는 편이다. 저렇게 선언을 하면 컴퓨터는 변수의 주소를 받을 준비가 되어 있다고 생각한다. Pointer 연산 포인터 연산 변수의 주소를 계산하는 연산자[주소 연산자] : & 변수의 메모리 주소 값 : &variable 시작하는 위치의 주소를 계산한다! 아래 사진에서 numb..

Develop/C, C++

[C/C++] 함수(Function)

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 함수의 개념 & 형태 함수의 필요성 함수 유형 함수에서의 return 문장 함수의 매개변수 디폴트 인수(default argument) 함수 호출에서의 매개변수 전달 방법 함수 원형(prototype) 함수와 변수의 속성 변수의 속성 지역 변수(local variable) 정적 변수(static variable) 전역 변수(global variable) 중복함수 인라인 함수 함수 예제 풀기 최댓값 구하는 함수 정수의 제곱 값을 구하는 함수 swap() 함수 만들기 정수, 실수, 문자를 모두 출력할 수 있는 print() 함수를 중복 함수로 정의하고 사용해보자. 디폴트 매개 변수 실습하기 1. 함수의 개념 & 형태 함수(function)란 특정한 작업을 수..

Develop/C, C++

[C/C++] 함수와 포인터를 사용해서 문자열을 뒤집어보자!

📜 문제 문자열을 입력받고, 포인터와 문자열 배열을 사용하여 문자열을 뒤집는 함수를 구현해보자! 📥입력 Hi! Welcome! 📤출력 !emocleW !iH 💡풀이 우선 배열명 그 자체로 포인터를 쓸 수 있다는 것을 알아두자. 굳이 포인터 연산자 사용할 필요도 없이 배열명으로 인자를 건네주면 된다. 다음으로 알아야 할 함수들은 strlen() 과 fgets() 함수이다. 먼저 strlen() 함수는 NULL 문자를 제외하고 string 길이를 판별하는 함수이다. 즉 받는 문자열 칸 100개에서 받은 문자열이 39개라면 뒤의 61개의 NULL 문자들을 제외하고 딱 들어와 있는 문자열의 개수를 세서 39라는 값으로 반환되는 것이다. strlen() 앞에다가 (int)를 붙여서 정수형으로 반환해주도록 한다. ..

JuniTech
'c++' 태그의 글 목록