일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 2차원배열
- 42서울
- Class
- python
- 함수
- 패킹
- float
- phpmyadmin
- C언어
- 42Seoul
- 구조체
- 포인터
- for
- libft
- vs코드 단축키
- 42
- list
- cout
- ft_server
- jupyter 단축키
- 자료형
- While
- else if
- 42cursus
- iF
- 동적할당
- docker
- nginx
- Double
- C++
- Today
- Total
목록C++ (8)
Developer
생성자(Constructor)는 객체의 생성 즉, 클래스 변수를 선언할 때 선언과 동시에 초기화를 가능하게 해주는 함수이다. 그럼 생성자는 왜 필요할까? 이전에 클래스도 사용자가 직접만든 자료형과 같다고 했다. 기본 자료형의 변수와 마찬가지로 객체를 생성하면 메모리가 할당되고, 쓰레기값을 가지게된다. 따라서 객체 생성이후에 각 멤버에 값을 직접 넣어주어야한다. 하지만 각 멤버를 직접 일일히 작성해 주는것은 매우 귀찮은 작업이고, 혹시 중간에 깜빡해서 값을 할당하지 않은 멤버가 있을 수 도 있다. 이러한 작업을 좀 더 간결하고 혹시 입력되지 않은 값에 대한 default 값까지 설정할 수 있게 해주는게 생성자이다. 생성자 생성자는 class와 같은 이름의 멤버 함수이다. 코드를 통해 사용법을 알..
C++은 객체 지향 프로그램을 지원한다고 했다. 현실에 존재하는 객체(Object)와 객체의 상태(State)와 동작(Behavior)을 소프트웨어로 구현한 것이다. 예를들어 시계라는 객체가 있고 이러한 시계의 상태는 현재 시간, 동작은 시간이 흐르고, 알람 설정 등...이 있다. 이러한 것을 소프트웨어로 구현하는 것이다. 위에서 설명한 객체를 소프트웨어에서 표현하기 위해 사용하는 것이 클래스(class)이다. 이전 글인 구조체에서 class는 구조체의 확장판이고 둘의 차이도 설명하였다. 코드를 통해 Class를 직접 사용해보자. #include #include using namespace std; class student{ //학생이라는 객체의 설계도 string name; //default 접..
구조체 변수 선언 #include #include using namespace std; struct student{ string name; int id; int age; string phonenumber; }; int main(){ student a1={"김모군",123456,20,"010xxxxxxxx"}; cout
디폴트인수 #include using namespace std; int f(int a=3,int b=4,int c=5,int d=6){ return a+b+c+d; } int main(){ cout
레퍼런스(참조자)는 원하는 변수를 또 다른 이름으로 사용할 수 있게해준다. 쉽게 말하면 변수에 별명(Alias)을 정의해줄 수 있다. 자료형 &별명 = 별명을 부여할 대상 레퍼런스의 선언 방법은 위와 같다.주의할 점은 대상의 자료형과 별명의 자료형이 같아야 하며, 별명을 부여받는 대상은 실제 메모리를 점유하고 있는 좌변 값(l-value)이어야 한다. 또한 선언과 동시에 초기화해주어야 한다(초기화가 반드시 필요할 뿐 이후 대상을 변경할 수 있다). #include using namespace std; void swap(int x,int y){ int temp=x; x=y; y=temp; } int main(void){ int a=1,b=5; swap(a,b); cout
다른언어를 배우지 않고 처음 C++을 접하는 것이라면 이 글을 읽기전에 C언어 카테고리의 10.연산,연산자 / 12. 논리 연산자,비트 연산자를 읽고오길 바란다. if문, switch문, while문, for문은 C에서의 사용법과 모두 같으므로 간단하게 예시코드와 주석으로 설명하겠다. 더 궁금한사람은 C언어 글에서 찾아볼 수 있으니 참고하자! if 단독 사용 #include using namespace std; int main(){ int a=4; //정수형 변수 a를 4로 초기화 int b=2; //정수형 변수 b를 2로 초기화 if(a>b){ //만약 a가 b보다 크다면 아래의 코드를 수행 cout
변수 C++에서의 변수 선언도 C언어와 똑같다. 만약 C언어를 안배웠다면 아래 글을 참고하자! https://dphater.tistory.com/entry/2c%EC%96%B8%EC%96%B4-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B6%9C%EB%A0%A5 또한 C++11부터는 변수를 초기화할 때 { }를 사용해 초기화 할 수 있다. int i=100; int i {100}; 위의 두 가지 초기화 방법은 완전하게 똑같은 코드이다. 자료형 변수를 선언할 때는 변수의 이름 앞에 자료형을 작성해주어야 한다. 자료형은 크게 정수형, 실수형, 문자형, 부울형이 있다. 정수형 short 2..
C++는 C언어에 객체 지향 프로그래밍 기능을 추가한 언어이다. C언어의 스타일은 절차 지향 프로그래밍인데 쉽게 말하면 순서에 따라 명령어를 수행하는 프로그래밍을 의미한다. 절차 지향 프로그래밍에서 가장 중요한 것은 주어진 작업을 프로시저(절차)들로 분리하는 것이다.C언어의 함수를 예로 들 수 있다. 그렇다면 객체 지향 프로그래밍은 무엇있까? 객체 지향 프로그래밍은 현실 세계의 모든 일들이 객체(object)와 객체사이의 상호작용을 통해 일어나는 것 처럼 소프트웨어도 객체 단위로 작성해 다양한 기능을 수행하는 객체들을 만들고, 객체들을 조합하며, 서로 상호작용하여 원하는 작업을 수행하는 방식이다. #include using namespace std; int main(){ cout