Smile Han start!20220708 - c++ study식별자? 변수, 함수 등에 부여하는 이름 영문자(A-Z, a-z), 숫자(0-9), 첫 글자는 반드시 영문자 또는 밑줄로 시작해야 함상수(constant) 또는 리터럴 상수는 항상 그 값이 변하지 않는 요
문자형(char): 1바이트의 메모리가 할당 실제 기억 장소에 기억될 떄는 ASCII 코드 값인 수로 저장됨한글은 한 글자라도 2바이트로 저장하므로 문자가 될 수 없음실수형(부동형, floating type) const 키워드를 이요하면 변수를 상수화 할 수 있음 자료
cout(출력 스트림객체/printf()), cin (입력 스트림객체/scanf())iostream 파일을 프로그램에 포함하면 자동으로 열리는 자동 스트림 객체case 마다 마지막줄에 break;를 써준다
함수의 리턴값이 없으면 리턴형을 쓰는 자리에 "void"를 쓰고 입력인 매개변수가 없다면 매개변수 리스트 자리에 "void"를 씀리턴형 함수 이름 (매개변수 리스트){ 코드 작성 (함수의 기능)}
함수를 호출하고 '리턴값'을 반드시 '변수'에 저장해야 사라지지 않음
<매개변수를 전달하는 방법> 기본: 값에 의한 호출 (call by value) \- 실매개변수의 값을 형식매개변수로 전달 \- 함수 내부에서 형식매개변수가 변경되더라도 실매개변수는 변경되지 않음! 주소에 의한 호출(포인터 사용/ call by refe
변수/배열/구조체⭐️ c(변수의 모임) -> c++클래스 (변수 + 함수의 모임) ⭐️구조체 변수가 멤버에 접근하는 예 1). 일반 변수 선언struct Man minsu;2). 포인터 변수 선언struct Man \*minjung; minjung -> age = 7;
class -> 객체의 타입 (공통적인 특성을 모아 놓은 것, 설계도) 객체 -> 자신의 상태와 행동, 이름을 가지고 있는 것 (집)자료 + 연산(함수)= 객체 객체 + 객체 = 프로그램캡슐화(class 만드는 것), 상속성(클래스의 상속), 다형성(중첩과 중복)
★ 캡슐화(클래스 만드는 것), 상속성, 다형성클래스 외부에서 멤버에 접근할 수 있는 권한 전용(private)해당 클래스 내부에서만 접근, 디폴트 속성으로 생략 가능범용(public)어디에서나 접근 가능 보호 (protected) private이지만 자식에게는 접근할
220725~범위 지정 연산자 '::'멤버함수가 어느 클래스에 포함되어 있는지를 나타낼 때함수 안에서 전역변수를 접근할 때 함수 선언이나 정의 앞에 inline이라는 키워드를 사용하여 매크로 함수의 부작용을 없애면서 같은 기능을 수행 \#6-2. 배열2(문자열 복사)
객체와 멤버, 생성자/소멸자, this 포인터 객체지향언어 (캡슐화/ private, public/ class 만들면서 재사용 많이 할 수 있음)직접참조 연산자: . (객체가 멤버에 접근하기 위해 사용)문자형 배열 초기화 방법 (예시)char name\[]={'a','
\#6-12. this 포인터
const(constant)변수에 const라는 키워드를 사용하여 상수의 의미를 갖게하여 그 내용을 변경할 수 없게 함. '- const int x=1; 변수 x는 항상 초기값 1, 변경 불가int const y=1; /비추, const 자료형 앞에 씀const in
#7-4. 동적메모리를 사용하는 이유 #7-5. 정적 vs 동적 메모리 할당 #7-6. 동적메모리할당 실습 #7-7. 배열의 크기를 실행시 결정 #7-8. 실행시 필요한 만큼의 동적 메모리 할당 #7-9. 객체 동적 할당
#8-1. c++문법정리(생성자, 소멸자 const, 동적메모리 할당) #9-1. c++에서 다형성 (polymorphism) #9-2. 함수 중첩 #9-3. 함수 오버로딩 실습 #9-4. 함수 오버로딩 C vs C++
✓ 객체지향언어: 캡슐화, 상속, 다형성 #9-1. c++에서 다형성 (polymorphism) 함수 중첩 (function overloading) 생성자 중첩 디폴트 인자 (default parameter) #9-2. 함수 오버로딩(중첩) 다형성을 구현하는 한 가
생성자: 클래스 이름과 동일한 이름의 함수ex). class Dog{},Dog() <- 생성자.. 이어서
#9-7. 디폴트인자(default parameter, default argument)
#10-7. 형변환함수 #10-8. 연산자 중첩의 제약과 주의사항 #11-1. 상속(코드 재사용) 기본 개념실습 #11-2. 상속의 기본 개념 #11-3. 기본(base, super) 클래스와 파생(derived,sub) 클래스
굳이 쓰지 않는것을 추천...! private로 상속받더라도 기본클래스의 public 멤버들은 파생 클래스의 멤버함수에 의해서는 접근 가능. private 상속은 기본클래스의 public 멤버를 파생클래스에서만 접근 가능하게 만듬. 자식에게만 비밀스럽게 상속! 잘 안씀
생성자는 기본클래스가 지정된 순서대로 왼 -> 오소멸자는 역순으로 실행 다중상속생성자, 소멸사 순서 A1 생성자 -> A2 생성자 -> B생성자 -> B의소멸자 -> A2의 소멸자 -> A1의 소멸자
변수와 함수에 대한 메모리 할당이나 함수 호출이 발생했을 때 실제로 처리해야하는 명령어들이 결정되는 시점 static(정적), early binding: 컴파일시 변수의 위치와 함수가 실행할 명령이 결정되는 경우static변수, overloading (함수중첩)dyna
템플릿, STL (Standard Template Library)template <>기능이 같은 함수들을 같은 이름으로 사용할 수있도록 한다. 코드는 전혀 바뀌지 않고 형만 다른 함수를 필요로 한다면 템플릿을 사용하는 것 추천!
ex1). 포인터를 사용하는 방법 (call by reference)ex2). 참조 연산자를 사용하는 방법&(연산자): x가 바뀌면 rx도 바뀐다. 참조자에서 (call by reference) 에서void swap(int &ra, int &rb) swap 함수의 &
220907-