C++ DAY1
by 으렴▶OOP의 4대특징
1. 추상화 : 추상적인것을 구체화 시킴
2. 캡슐화 : DATA 보호와 은닉
3. 상속 : 코드의 재활용, 확장성
4. 다형성 : 편의성(EX. 동적바인딩, 제네릭, 오버라이딩)
▶배열(Array)
동일한 데이터 타입을 메모리상에 순차적으로 확보하는 것.
c++ 선언은
int a[요소갯수];
자바는
int [] a = new int [100];
new : 래퍼런스, 동적메모리(Heap scope)
▶선처리부 들어갈 것
#include<iostrem> //신표준
using namespace std; //(이름공간)
template //(제네릭같은거)
▶주소를 표현하는 방법
1. & 변수명
2. 배열명
3. 함수명
4. 문자열 : ""
5. pointer : *
c++에 string이 있을까?
있다!
<string> : class를 쓰겟다
<cstring> : string 함수를 갖다쓰겟다
▶ * 포인터 (4byte) == 주소를 저장하는 변수(간접변수) == address
: 주소만 알면 그 메모리의 값을 마음대로 가능!
기능
① 오직 주소만 받을 수 있다. (정확한 주소를 넣을 것)
② 받은 주소의 값 읽을 수 있다.
③ 받은 주소의 값을 변경시킬 수 있다.
④ 주소이동 가능
printf = cout
scanf = cin
사용하면 됨
동적메모리 : runtime에 할당하는 메모리.
new라는 키워드로 동적메모리를 할당.
해제할 때에는 delete로 해제.
동적메모리는 이름이 없다 어떻게 해야 하느냐 → 포인터랑 같이 써야한다.
1 2 3 | int *p; p = new int; delete p; | cs |
일반적 메모리 할당 경우
1 2 3 4 | int *p; p = new int[3]; delete p;//이 경우 p의 첫 주소(배열)만 지움 delete []p;//전체지우기 | cs |
배열 동적메모리 할당의 경우
'Programming Language > C and Cpp' 카테고리의 다른 글
C++ 명시적 오버로딩 / 암시적 오버로딩 (0) | 2018.03.06 |
---|---|
C++ DAY2 성적 입출력 프로그램 (0) | 2018.03.06 |
setw() 함수 (0) | 2018.03.05 |
재귀함수를 사용한 팩토리얼 ! [recursive function/factorial/for문] (0) | 2018.02.04 |
C language 들어가기[include/header file/main] (0) | 2018.02.04 |
사이트의 정보
코딩하렴
으렴